博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux的企业-Zabbix监控、nginx、邮箱微信报警(1)
阅读量:5864 次
发布时间:2019-06-19

本文共 3371 字,大约阅读时间需要 11 分钟。

一.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示意图

 

 

五.安装配置

1.安装环境

server系统版本为7.2

2.安装zabbix、php、mysql、httpd

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

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


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

6.配置 php  修改时区

7.配置完毕,启动服务

8.登陆 zabbix web

http://172.25.29.1/zabbix

Php 正常next

帐号zabbix 密码westos

next

帐号:Admin 密码:zabbix

登陆zabbix web界面

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

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

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

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

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

安装zabbix-agent

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

2.配置zabbix agent

vim /etc/zabbix/zabbix_agentd.conf

服务正常

3.手动添加server3

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

点击Templates添加操作系统模版

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

4.自动添加server3

删除刚才手动添加的server3

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

主机名像server

Add host:自动注册主机添加到 hosts 列表

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

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

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

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

添加后http可以监控了

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

七.server3上的nginx监控

1.在server3上安装nginx

添加状态模块

2.启动配置nginx

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

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

4.配置nginx采集配置脚本

在server3上配置采集脚本

cd /etc/zabbix/zabbix_agentd.d/

server1安装zabbix采集数据工具

配置完成后重新启动服务

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

vim nginx.conf

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

测试:

5.web上添加nginx监控

添加监控项目nginx.active

添加监控项目nginx.accept

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

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

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

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

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

重启服务

3.添加mysql模版

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

4.添加数据库监控模版

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

下载所需的包和percona_mysql模版

安装包,生成两个脚本

将脚本放到指定位置

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

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

在zabbix server上添加percona mysql server 模版

生成190个监控项目

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

九.Email 报警

1.设置虚拟机上网

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

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

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

2.安装邮件 yum install -y mailx

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

3.qq邮箱设置白名单

允许接收zabbix@server1.localdemain邮件

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

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

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

4.设置警告模式

5.设置邮箱用户

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

开启设置好的警告动作

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

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

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

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

在个人中心添加告警策略

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

修改110monitor脚本权限

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

新建媒介类型110monitor

关闭email

新建user 110monitor,密码westos

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

新建110monitor执行动作

4.手工测试

将zabbix的shell设置成可以交互

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

显示 success 发送成功

5.正常测试

关闭一台server3主机的zabbix-agent

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

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

你可能感兴趣的文章
用栅栏(CyclicBarrier)实现高并发测试
查看>>
emacs 安装错误
查看>>
SQLite在多线程环境下的应用
查看>>
html div 一侧固定,另一侧宽度自适应
查看>>
SourceTree安装教程和GitLab配置详解
查看>>
openstack ice resize 详解(一)
查看>>
Kafka 高性能吞吐揭秘
查看>>
listview与checkbox结合,界面混乱问题
查看>>
Jsp 9大内置对象
查看>>
JDK8中ArrayList的工作原理剖析
查看>>
LAN、WAN和WLAN的区别
查看>>
jFinal研究与见解
查看>>
2个小练习:Javascript打印菱形和99乘法表
查看>>
MySQL 慢查询日志及相关信息
查看>>
深入理解Java内存模型(二)——重排序
查看>>
Android proguard.flags
查看>>
使用命令行启动服务
查看>>
Android实现的网络收音机示例利用Vitamio组件
查看>>
关于PyQt5响应QML发送信号的方法?
查看>>
ListView图标图像不清晰的解决方法
查看>>