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

  1. 云栖社区>
  2. 博客>
  3. 正文

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

技术小胖子 2017-11-08 14:27:00 浏览2766

.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,如需转载请自行联系原作者