企业—实现zabbix监控httpd,nginx,mysql服务

一.实现zabbix监控httpd服务

1.web界面的server2主机上添加监控项httpd服务

httpd是zabbix自带的监控模版

操作如下:

企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
添加成功之后查看:
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
可以看到server2的主机的触发器多了一个是httpd服务监控的触发器,是端口的触发器,zabbix是通过端口来检测httpd服务的。

二.实现zabbix监控nginx服务

1.在监控主机的server3上部署nginx服务

a.官网下载安装包并且解压
企业—实现zabbix监控httpd,nginx,mysql服务
b.注释debug日志
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
c.安装依赖性软件并且编译安装

[[email protected] nginx-1.16.0]# yum install -y gcc pcre-devel zlib-devel
[[email protected] nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module  ##编译stub_status模块主要用于查看nginx的一些状态信息
[[email protected] nginx-1.16.0]# make && make install

d.编辑nginx的配置文件添加nginx的用于网页状态的查看检测配置文件并开启nginx服务

[[email protected] nginx-1.16.0]# cd /usr/local/nginx/
[[email protected] nginx]# vim conf/nginx.conf
文件添加的内容如下:
48        location /status {
 49            stub_status on;   //开启该模块
 50            access_log off;   //关闭日志记录
 51            allow 127.0.0.1;   //只允许本机访问
 52            deny all;
 53         }

企业—实现zabbix监控httpd,nginx,mysql服务
e.测试:

  • 查看nginx的基础信息

curl http://127.0.0.1/status访问nginx用来做测试
企业—实现zabbix监控httpd,nginx,mysql服务

  • 使用ab命令来访问nginx
如果没有该命令则需要安装httpd-tools,也可直接安装httpd因为httpd里面自带该命令
[[email protected] nginx]# yum install -y httpd
[[email protected] nginx]# ab -c 1 -n 1000 http://127.0.0.1/status

企业—实现zabbix监控httpd,nginx,mysql服务

  • 再次查看网页状态及及其过滤监控参数
[[email protected] nginx]# curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
[[email protected] nginx]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'

企业—实现zabbix监控httpd,nginx,mysql服务
f.创建nginx的监控项

[[email protected] ~]# cd /etc/zabbix/zabbix_agentd.d/
[[email protected] zabbix_agentd.d]# ls
userparameter_mysql.conf
[[email protected] zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf  //将mysql服务的监控模版给nginx服务复制一份
[[email protected] zabbix_agentd.d]# vim userparameter_nginx.conf 
配置文件的编辑内容如下:
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'  //获取连接数,nginx.active为key值,获得的连接数为value的值
UserParameter=nginx.access,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'   #获取接收请求数

[[email protected] zabbix_agentd.d]# systemctl restart zabbix-agent  //重启服务

g.在zabbix-server端测试是否能拿到数据

//安装使用zabbix_get命令的安装包
[[email protected] ~]# ls
4.0  anaconda-ks.cfg  zabbix-api
[[email protected] ~]# cd 4.0/
[[email protected] 4.0]# yum install -y zabbix-get-4.0.5-1.el7.x86_64.rpm 

//测试
[[email protected] 4.0]# zabbix_get -s 172.25.254.3 -p 10050 -k "nginx.active"
[[email protected] 4.0]# zabbix_get -s 172.25.254.3 -p 10050 -k "nginx.access"

企业—实现zabbix监控httpd,nginx,mysql服务
2.web界面添加nginx的监控

在配置–>主机–>sever3

企业—实现zabbix监控httpd,nginx,mysql服务
创建监控项:
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
添加图形将已经添加的监控项导入
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
查看监控图形
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
但是图形显示下方是乱码的所以可以进行如下操作来解决:

  • 下载字体并且将其复制到/usr/share/zabbix/fonts目录下,代替原有的系统默认的图形文件defines.inc.php的字体

下载的字体如下:
企业—实现zabbix监控httpd,nginx,mysql服务

[[email protected] 4.0]# cd /usr/share/zabbix/fonts/
[[email protected] fonts]# ls
graphfont.ttf  simkai.ttf

[[email protected] fonts]# cd /usr/share/zabbix/include/
[[email protected] include]# vim defines.inc.php
替换文件中的graphfont为simkai,及使用自己下载的字体,即在下方输入:
:%s/graphfont/simkai/g
  • 再次刷新页面发现字体不再是乱码
    企业—实现zabbix监控httpd,nginx,mysql服务

三.实现zabbix监控mysql服务

1.给zabbix-server添加自带的mysql的监控项

在配置–>主机–>点击zabbix server选择该主机
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
发现其监控项及其触发器图形都是很少的,这在企业中是远远不够的。

2.导入自己的mysql服务的监控模版

zabbix server(server1):

向zabbix监控中导入监控mysql的模版percona
percona是开源的mysql分析工具

1.zabbix-server上的mysql的配置

[[email protected] zabbix]# mysqladmin -uzabbix -predhat -h 127.0.0.1 ping | grep -c alive  //查看zabbix server上的mysql服务
1(代表正常)
[[email protected] fonts]# mkdir /var/lib/zabbix
[[email protected] fonts]# cd /var/lib/zabbix/
[[email protected] zabbix]# vim .my.cnf  //为了保证数据库配置的安全性建议将该文件设置为隐藏文件
文件的编辑内容如下:
[mysql]
host=localhost
user=root
password=redhat
socket=/var/lib/mysql/mysql.sock


[mysqladmin]
host=localhost
user=root
password=redhat
socket=/var/lib/mysql/mysql.sock

[[email protected] zabbix]# systemctl restart zabbix-agent

在web界面查看添加了数据库之后的监控图像:

  • 在zabbix server上查看数据库产生相应的访问信息
[[email protected] zabbix]# mysql -p
Enter password: 
MariaDB [(none)]> show databases;
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> show tables;
MariaDB [zabbix]> select * from users;

企业—实现zabbix监控httpd,nginx,mysql服务

  • 在web界面查看mysql的图形
    企业—实现zabbix监控httpd,nginx,mysql服务
    点击mysql operations查看该产生的图形:
    企业—实现zabbix监控httpd,nginx,mysql服务
    显示数据则监控数据库正常

点击mysql operations查看该产生的图形:
企业—实现zabbix监控httpd,nginx,mysql服务
2.在zabbix server及server1上安装percona-zabbix模版

//官网下载安装包进行安装

[[email protected] ~]# ls
4.0  anaconda-ks.cfg  percona-zabbix-templates-1.1.8-1.noarch.rpm  zabbix-api
[[email protected] ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm 
Scripts are installed to /var/lib/zabbix/percona/scripts
Templates are installed to /var/lib/zabbix/percona/templates

企业—实现zabbix监控httpd,nginx,mysql服务
//复制percona的监控模版到被监控的服务器也就是server1上的zabbix-agent的相应目录下
企业—实现zabbix监控httpd,nginx,mysql服务
//percona的脚本是由php编写的需要准备好php的运行环境,将zabbix的数据库和密码都写入php脚本中
企业—实现zabbix监控httpd,nginx,mysql服务
文件编辑内容如下:
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
//测试percona的监控脚本并且过滤监控项
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
在web界面导入模版:
下载的petcona的模版如下:
企业—实现zabbix监控httpd,nginx,mysql服务
在web界面
企业—实现zabbix监控httpd,nginx,mysql服务
选择导入路径
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
企业—实现zabbix监控httpd,nginx,mysql服务
点击下方的导入会显示导入成功
企业—实现zabbix监控httpd,nginx,mysql服务
//pernoca模版的添加:

  • 首先取消已经添加的mysql监控已经存在的模版
    企业—实现zabbix监控httpd,nginx,mysql服务
  • 再次为zabbix server主机添加数据库的监控模版percona
    企业—实现zabbix监控httpd,nginx,mysql服务
    会出现percona的模版点击选择即可
    企业—实现zabbix监控httpd,nginx,mysql服务
    企业—实现zabbix监控httpd,nginx,mysql服务
    更新完成之后查看zabbix server的监控项,发现在i添加了mysql的已有的模版产生的监控项只有80多个当导入了新的模版后监控项的数量变为接近300个,则percona模版导入成功
    企业—实现zabbix监控httpd,nginx,mysql服务
    企业—实现zabbix监控httpd,nginx,mysql服务
    查看图形的时候发现图形增多,并且触发器也增多