Linux的企业-Zabbix监控、nginx、邮箱微信报警(1)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

.Zabbix简介   

       zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

       zabbixzabbix server与可选组件zabbix agent两部门组成。

       zabbix server可以通过SNMPzabbix agentping,端口监视等方法提供对远程服务器/网络状态的监视。

       zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

二.各个监控软件的对比

    cacti是一款数据采集,数据存储,外加web界面展示的工具,它负责阈值范围内的实时变化,但是对超过阈值的告警功能很薄弱

优点:实时监控数据变化,以web页面的方式呈现,更直观。

缺点:告警不及时

    nagios是一款告警功能很强大的工具,它不关心阈值范围内的变化,只关心状态变化(超过阈值),然后报警。报警方式通过邮件,短信等。

优点:告警反映迅速。

缺点:监控主机数量有限,承载低

    zabbix    =   cacti   +  nagios

优点:基于两款工具优点于一身并更强大,实现企业级分布式监控。

缺点:2.2版本带宽占用大但是升级到2.4版本后更节省了带宽资源,其它再无发现。

.Zabbix主要监控功能

设备:服务器,路由器,交换机

软件:OS,网络,应用程序

主机性能指标监控:CPU负荷内存使用磁盘使用网络状况端口监视日志监视 

故障监控: down机,服务不可用,主机不可达

四.Zabbix示意图

wKioL1ncvk-DViLmAABrK9MP9ow562.png 

 

五.安装配置

1.安装环境

server系统版本为7.2
wKiom1ndLdPycFvHAAAUnDCDMsA136.png


2.安装zabbix、php、mysql、httpd

wKiom1ndLmnzzfsLAABUfCzd1KY200.png

wKioL1ncv1uhdauaAAAO4jJboWY649.png


3.配置Mysqlzabbix数据库可以和zabbix服务器分离,采用用专门的mysql服务器存储数据,此时要给zabbix数据库受相应的权限。

wKioL1ncv1vBgIxIAAC0B1Pt_4o791.png


4.zabbix数据导入数据库表中,设置mysql密码

wKiom1ndLmqgkGLuAABkPu1o0Tg817.png


5.修改server配置文件,添加zabbix数据库密码
vim /etc/zabbix/zabbix_server.conf

wKiom1ndLmqTOhLeAABE-R74DUY502.png


6.配置 php  修改时区

wKiom1ndMELh8GXnAAAma3cOAXc157.png


wKioL1ncv1zR4WzhAACh4_WvQY8583.png


7.配置完毕,启动服务

wKiom1ndLmrTF8JvAACEniWgtV0787.png

wKioL1ncv1zBzbqSAAAQNrJyNFg234.png


8.登陆 zabbix web

http://172.25.29.1/zabbix

wKioL1ncv13hxwcpAACMVe4Uwqs478.png

Php 正常next

wKiom1ndLmuz21OWAACvgMl4xVQ746.png

帐号zabbix 密码westos

wKiom1ndLmuwzsmmAACd6HCs5Ac924.pngnext

wKioL1ncv13BG6GbAACAphbp0kM413.png


wKiom1ndLmyTQH8bAACvc6SBrH0006.png

帐号:Admin 密码:zabbix

wKioL1ncv16hTftXAABdScoQVDU615.png


wKioL1ncv17gyclnAACGYub7I9k351.png

登陆zabbix web界面

wKiom1ndLmyj5292AADzU_xyw4M032.png

9.配置vim /etc/zabbix/zabbix_server.conf

wKioL1nczFbxU6HiAABtuQ6N6Bs063.png

10.监控采集数据成功,图形显示正常

wKioL1ncxrSh5LE5AACrQlROR00354.png


wKioL1nczFagB1JBAAC_FtdambE452.png



六.监控不同系统的主机(添加6.5系统的一台主机)

注:做之前提前做好主机间的解析


1.开启另一台虚拟机,系统为6.5

安装zabbix-agent

wKioL1ncxrPg8UpQAAAkUAUDAH0045.png


如果命令不能不全,安装bash-completion.noarch

wKiom1ndNcHwgeloAAB17xPjZcw032.png

wKioL1ncxrSCrK3SAAASVODQiQs808.png

wKiom1ndNcKTHlStAABNQJfyI3g901.png


2.配置zabbix agent

vim /etc/zabbix/zabbix_agentd.conf

wKiom1ndNcKAecc6AAAjrWl-J5E579.png

wKioL1ncxrSAPA5lAABC3I4AmmQ835.png

wKioL1ncxrXRCRuAAAAlCCZXQXg544.png

wKiom1ndNcPB_PxqAAA4LY7yV_Y460.png


服务正常

wKiom1ndNcPxFZj3AACzfRZf3uI363.png


3.手动添加server3

在配置Hosts里,右上角点击添加

wKiom1ndO2SxBB_CAAB7kRWtqSU841.png

点击Templates添加操作系统模版

wKiom1ndO2TDmUytAACaaWFV-fA666.png

server3在监控界面手动添加成功

wKioL1nczFaT2vsQAADrgp8_ycw049.png


wKioL1nczcXTRlvbAADrgp8_ycw206.png


4.自动添加server3

删除刚才手动添加的server3


点击 Configuration -> Actions -> Create action 按下图所示设置

主机名像server

wKioL1nczmeBb3RIAAB_UvjOvQg385.png


Add host:自动注册主机添加到 hosts 列表
Add to host groups:自动注册主机加入 linux servers 组(组名可以自定义)
Link to templates:自动注册主机应用模板 Template OS linux

wKiom1ndPXXTBnfJAACzcngfFEI677.png


点击Update后,查看Hosts自动发现新主机

wKiom1ndPXWhySs9AADPxAU28lI663.png



5.在监控的server3上添加http服务

server3上启动httpd服务,添加http模版

wKioL1nczmjywxaaAACr-s6m02k038.png


添加后http可以监控了

wKiom1ndPXbgUwmTAAEi8NFgWmU787.png


注:如果在主监控界面上出现采集忙的情况,可以配置vim /etc/zabbix/zabbix_server.conf,将原来的1改成5,增大采集线程,如还是出现忙的情况,继续增大

wKioL1nc3IiCi0OWAAFHlEPGf3g562.png

七.server3上的nginx监控

1.在server3上安装nginx

wKioL1nczmjA_mkcAAAl3g3m_ZM314.png

wKiom1ndPXbTXbhBAAAkOABzfmc056.png

添加状态模块

wKioL1nczmiwuNexAAAdfVFFRuE829.png

wKiom1ndPXeR2XxmAADZ3Z9Rqxk504.png


2.启动配置nginx

wKioL1nczmnTFxQ6AABmWEaWt5Q684.png

wKioL1nczmngRDS2AABPRi_3ihs315.png

3.在客户机浏览连接server3的状态页面

wKiom1ndPXfyN41-AAA0ss3GBq8828.png

压力测试,增加并发量和连接次数

wKioL1nczmnTXw72AABM9a9qQ_Y911.png

wKiom1ndPXiCAWBuAAAxlN_QK7M528.png

wKiom1ndQCDQmMIKAABQ0bC2gL0614.png


4.配置nginx采集配置脚本

在server3上配置采集脚本

wKiom1ndQpKh1BiLAABlVRV7u7I569.png

cd /etc/zabbix/zabbix_agentd.d/

wKioL1nc0r7SGtkbAAAaCBKWVDk842.png

wKioL1nc0r_y1JOIAAAbvoWMC5E541.png


wKioL1nc0sDha_wTAAAmkjZCoY4482.png




server1安装zabbix采集数据工具

wKioL1nc0RPSipqGAABhbM1UrZw673.png

wKiom1ndQpLA0hRbAABIQ_cr_Lk377.png


配置完成后重新启动服务

wKiom1ndQc3wCM6WAABctErtuUM786.png



注:为了安全,可以将server3上的IP地址设置为本地回环接口,并且nginx配置文件中设置只能127.0.0.1访问,其他IP不能访问

vim nginx.conf

wKiom1ndQczQFDUoAABT9wf54bI186.png

vim /usr/local/nginx/conf/nginx.conf

wKioL1nc2PrwFiRbAABdDaCa9xc160.png


测试:

wKioL1nc29-jHCPXAABaSrVqbLw223.png



5.web上添加nginx监控

添加监控项目nginx.active

wKioL1nc04WAXHWNAADNciIqwVY670.png

添加监控项目nginx.accept

wKioL1nc04XR0ZutAACyIQ03x4Q933.png


添加图形,两个图形监控在一起

wKioL1nc04Wixsr_AACNEMQZPRk616.png

wKiom1ndQpPTAe85AAC61n14cgE985.png

wKiom1ndQpPg_T_eAADGV-D_FnM719.png

点击图形查看采集的nginx结果

wKiom1ndQpSjPFK7AADWnNghIF4640.png



八.数据库的监控和上传percona-zabbix mysql监控模版

1.配置mysql密码和查看连接

wKioL1nc04aRNGtbAABG5Or1Q3A935.png

wKiom1ndQpTDCpupAAAlP5fXoGc069.png

wKiom1ndQpTBr0iTAAAWs6TAj6s352.png


2.配置隐藏文件 .my.cnf以哪个账户登陆执行什么操作

wKioL1nc04bDEPJUAABJiclJo2w143.png

重启服务

wKiom1ndQpTAUIrtAAA2yf9jL3c614.png


3.添加mysql模版

wKioL1nc04ewXeoyAABBIxuRfkQ186.png

wKiom1ndQpXCvToPAACVUly7SzQ986.png


模版生成,可以查看采集数据

wKiom1ndQpWTCm4jAADciS101UA650.png

wKioL1nc2E2izFLyAADT-eTEQD4800.png




4.添加数据库监控模版

由于zabbix系统自带的mysql模版内容较少,所以我们需要下载模版percona-zabbix模版


下载所需的包和percona_mysql模版


安装包,生成两个脚本

wKioL1nc2PbxReTyAACkXKq5Sl4870.png


将脚本放到指定位置

wKioL1nc2PajqgtaAAC-DD__ynU199.png


配置数据库帐号密码 vim ss_get_mysql_stats.php


wKiom1ndSASiUAVLAADnHjWDUMg032.png

wKiom1ndSASyKcqeAAARuNNgpOw492.png


在Zabbix web监控界面上点击配置,模版,上传模版

wKioL1nc2PeCyDNvAAFIFlHlLPY581.png

wKiom1ndSAWA5sJZAADR-IXspTo449.png


在zabbix server上添加percona mysql server 模版

wKioL1nc2PeANOsPAAA3mE8SRfE961.png

wKiom1ndSAXy5Oh4AACsHmlPcuw218.png


生成190个监控项目

wKioL1nc2PiTxCw3AAA9UUK-x9Q223.png

wKiom1ndSAaBvFWyAAKX5krM3JY707.png

wKioL1nc2PmD5KzrAAGnYaWR-Fs160.png


点击其中的一个项目查看,数据采集正常

wKiom1ndSAezWiA3AAC7WBvYsgg284.png




九.Email 报警

1.设置虚拟机上网


客户机真机设置NAT转换策略

wKiom1ndS5KzF3orAAAZcD5ojmk201.png


在虚拟机server1上添加网关,网关为真机IP:172.25.29.250

配置server1 DNS,vim /etc/resolv.conf     nameserver 192.168.43.1

wKioL1nc3ITB7rAFAADQqrD-Lh0497.png


2.安装邮件 yum install -y mailx

给自己qq邮箱发送一封邮件

wKiom1ndS5LgvY-YAABOUWLG_Yk951.png


3.qq邮箱设置白名单

允许接收zabbix@server1.localdemain邮件

wKioL1ndprvAUDsUAABMJ1k_juc325.png

设置后qq邮箱可以收到邮件,邮件测试成功

wKioL1nc3ISS5X7EAABNrTkuX9g416.png

wKiom1ndS5KxUlDDAAASU_K6nGY157.png


3.配置Zabbix web邮件警告设置

查看qq邮箱的 SMTP server ,用日志查看mx3.qq.com

wKioL1nc3IXzlg6wAAGDDhu48sM468.png


4.设置警告模式

wKiom1ndS5PB93_7AACjbUVwwwk574.png


5.设置邮箱用户

wKioL1nc3IWg3cvNAABdG_w8YD8321.png

wKiom1ndS5OxkvKzAAB_oXDtEyg348.png


6.开启触发器事件,设置Report problem to zabbix administrators执行动作

wKiom1ndS5SCb2oIAADpyYwabZg895.png


wKioL1nc3IfSBYQKAACbPVj9XAM291.png

wKiom1ndS5WzI7geAAB9PmmY9TQ720.png


开启设置好的警告动作

wKioL1nc3IexTIBTAABhpaq-3D8079.png


7.测试:将server3上的服务关闭,/etc/init.d/zabbix-agent stop

wKiom1ndS5XSfCvhAABPLhUo4AY869.png


过一会,警告邮件发送到自动的邮箱中



十.微信报警(参照OneITSM 110monitor官方文档)

1.在110monitor上申请帐号,并绑定微信(微信接收信息),注册获取zabbix应用号


wKioL1nfWIfC39kHAAGiFt1onYo064.png

wKioL1nfWIfD8QjoAAEzM9IFgqc307.png

在个人中心添加告警策略

wKioL1nfW0qyIYUOAABWZlyvPHo226.png

2.安装报警配置alert-agent模块

wKiom1nfWz6gpOXfAABa9js44xU582.png


修改110monitor脚本权限

wKiom1nfWz6woISWAAC2CqV_G1M382.png


3.在zabbix web端配置微信告警

新建媒介类型110monitor

wKiom1nfWz7B_nNcAAB-Or6AHtg362.png

关闭email

wKiom1nfXgChCbhfAADWlnixN-w945.png

新建user 110monitor,密码westos

wKioL1nfWIjBZb6hAABaeAviZEc845.png

wKioL1nfWfviwKv5AABLGsdfZfc072.png

选择媒介,将申请的应用key填写在send to

wKiom1nfXLGCpkE1AABjWyt1pF4016.png

wKioL1nfWfvwGkqqAAB43jYUDTs254.png

新建110monitor执行动作

wKioL1nfWfvAgRYTAABVrEUcErY516.png

wKiom1nfXLKSj6rOAABr3kiupOo188.png

wKiom1nfXLKjtSi8AACFoHZl2dk588.png

wKioL1nfWfyATgo9AABq8EOXMzA847.png

wKioL1nfWfyw-W7WAABXKiXi5Ok375.png

wKiom1nfXLPSNFZ9AACkGfuNv4c411.png

wKiom1nfXLPw9bV9AACGFCJsU6M778.png

wKiom1nfXgGjf1J4AADUrZvaD3M665.png


4.手工测试

将zabbix的shell设置成可以交互

wKiom1nfXgDzwRolAABgAeTX12M284.png

切换到zabbix用户,执行脚本发送到报警平台110monitor

显示 success 发送成功

wKioL1nfW0rTKXI0AAFSFqzF_HM542.png


5.正常测试

关闭一台server3主机的zabbix-agent

过一会邮箱、平台和微信传过来报警信息

wKiom1nfXgGyqub6AAC7cofBIJk293.png








      本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1971320,如需转载请自行联系原作者




相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
72 0
|
3月前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何配置Web服务器(如Apache或Nginx)?
在Linux中,如何配置Web服务器(如Apache或Nginx)?
|
3月前
|
负载均衡 算法 应用服务中间件
揭秘!nginx的神秘力量——如何单枪匹马驾驭Linux中的流量洪流与后端军团?
【8月更文挑战第20天】在Linux环境下,Nginx是一款高效HTTP与反向代理服务器,还具备负载均衡功能。本文采用问答形式解析Nginx的反向代理机制:接收并转发客户端请求至后端服务器,增强安全性和性能。示例配置展示了如何设置上游服务器与代理传递规则。同时介绍了Nginx负载均衡原理及配置,利用upstream模块与不同调度算法(如轮询、最少连接、IP哈希)分发请求,提升系统可靠性和处理能力。
49 2
|
3月前
|
Linux 网络安全 API
企业微信自定义应用 企业可信IP配置 企业可信ip怎么设置
企业微信自定义应用 企业可信IP配置 企业可信ip怎么设置
|
3月前
|
应用服务中间件 Linux 网络安全
在Linux中,如何配置Apache或Nginx Web服务器?
在Linux中,如何配置Apache或Nginx Web服务器?
|
3月前
|
应用服务中间件 Linux nginx
【Nginx 第二篇章】windwos、linux、docker-compose 安装 NGINX
在一节中,我们介绍了如何在Windows环境下安装Nginx,包括从官网下载稳定版压缩包、解压并直接运行`nginx.exe`启动服务,最后通过浏览器访问`http://localhost/`验证安装。第二节覆盖了Linux环境下的安装流程,首先安装必要依赖,接着利用包管理器安装Nginx,并通过`systemctl`或`service`命令启动,同样通过浏览器确认安装成功。第三节则展示了如何使用`docker-compose`轻松部署Nginx,通过编写`docker-compose.yml`文件定义服务和配置映射,最后执行`docker-compose up -d`后台启动容器。
56 0
|
3月前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何查看Apache或Nginx服务的状态?
在Linux中,如何查看Apache或Nginx服务的状态?
|
3月前
|
监控 关系型数据库 MySQL
一文吃透企业级elk技术栈:11. zabbix报警实现
一文吃透企业级elk技术栈:11. zabbix报警实现
|
4月前
|
Ubuntu 应用服务中间件 Linux
Linux学习之Ubuntu 20中OpenResty的nginx目录里内容和配置文件
总的来说,OpenResty的Nginx配置文件是一个强大的工具,它允许你以非常灵活的方式定义你的Web服务的行为。
86 2
|
3月前
|
应用服务中间件 Linux API
Linux 利用 Cloudflare API 配置 acme.sh 自动续签 SSL (Apache、Nginx适用)
安装acme.sh工具,命令为`curl https://get.acme.sh | sh -s email=你的邮箱`。接着配置Cloudflare API,创建并记录API令牌及Zone ID。最后通过`acme.sh --issue -d 你的域名 --dns dns_cf`签发SSL证书,对于Nginx可使用`acme.sh --install-cert`命令安装证书,并设置自动重载Nginx服务。