Linux运维之zabbix(三)监控httpd,nginx,mysql服务

Linux运维之zabbix(三)监控httpd,nginx,mysql服务

  • 实验环境准备

zabbix-server(server1)与zabbix-agent(server2)部署成功
并且将需要监控的主机已经添加

  • 监控httpd

httpd是zabbix自带的监控模版

操作如下:
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第1张图片
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第2张图片
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第3张图片
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第4张图片
添加成功之后查看:
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第5张图片
在这里插入图片描述
可以看到server2的主机的触发器多了一个是httpd服务监控的触发器,是端口的触发器,zabbix是通过端口来检测httpd服务的。

  • 监控nginx服务

在监控主机的server3上部署nginx服务
官网下载安装包并且解压
注释debug日志

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

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

[root@server3 nginx-1.16.0]# cd /usr/local/nginx/ 
[root@server3 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 }

/usr/local/nginx/sbin/nginx  ##开启nginx
netstat -antlp  ##查看端口信息

查看nginx的基础信息

curl http://127.0.0.1/status

在这里插入图片描述
再次查看网页状态及及其过滤监控参数

[root@server3 nginx]# curl -s http://127.0.0.1/status | grep Active | awk '{print $3}' 
[root@server3 nginx]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'

Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第6张图片
创建nginx的监控项

[root@server3 ~]# cd /etc/zabbix/zabbix_agentd.d/ 
[root@server3 zabbix_agentd.d]# ls userparameter_mysql.conf 
[root@server3 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf 
//将mysql服务的监控模版给nginx服务复制一份 
[root@server3 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}' #获取接收请求数 
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent //重启服务

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

//安装使用zabbix_get命令的安装包 
[root@server1 ~]# ls 4.0 anaconda-ks.cfg zabbix-api 
[root@server1 ~]# cd 4.0/ 
[root@server1 4.0]# yum install -y zabbix-get-4.0.5-1.el7.x86_64.rpm //测试 
[root@server1 4.0]# zabbix_get -s 172.25.254.3 -p 10050 -k "nginx.active" 
[root@server1 4.0]# zabbix_get -s 172.25.254.3 -p 10050 -k "nginx.access"

在这里插入图片描述
web界面添加nginx的监控
配置–>主机–>sever3
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第7张图片
创建监控项:
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第8张图片
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第9张图片
添加图形将已经添加的监控项导入
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第10张图片
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第11张图片
查看监控图形

Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第12张图片
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第13张图片
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第14张图片解决图形显示下方是乱码:
需要自行下载准备字体

[root@server1 4.0]# cd /usr/share/zabbix/fonts/ 
[root@server1 fonts]# ls graphfont.ttf simkai.ttf 
[root@server1 fonts]# cd /usr/share/zabbix/include/ 
[root@server1 include]# vim defines.inc.php 
替换文件中的graphfont为simkai,及使用自己下载的字体,即在下方输入: 
:%s/graphfont/simkai/g

再次刷新页面发现字体不再是乱码
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第15张图片

  • 监控mysql服务

给zabbix-server添加自带的mysql的监控项
在配置–>主机–>点击zabbix server选择该主机
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第16张图片
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第17张图片
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第18张图片
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第19张图片
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第20张图片
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第21张图片
发现其监控项及其触发器图形都是很少的,这在企业中是远远不够的。
导入自己的mysql服务的监控模版
在server1:
向zabbix监控中导入监控mysql的模版percona
percona是开源的mysql分析工具

[root@server1 zabbix]# mysqladmin -uzabbix -predhat -h 127.0.0.1 ping | grep -c alive //查看zabbix server上的mysql服务 1(代表正常) 
[root@server1 fonts]# mkdir /var/lib/zabbix 
[root@server1 fonts]# cd /var/lib/zabbix/ 
[root@server1 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 

 [root@server1 zabbix]# systemctl restart zabbix-agent

在web界面查看添加了数据库之后的监控图像:
在zabbix server上查看数据库产生相应的访问信息

[root@server1 zabbix]# mysql -p 
Enter password: 
MariaDB [(none)]> show databases; 
MariaDB [(none)]> use zabbix; 
MariaDB [zabbix]> show tables; 
MariaDB [zabbix]> select * from users;

Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第22张图片
在web界面查看mysql的图形
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第23张图片
点击mysql operations查看该产生的图形:
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第24张图片
在zabbix server及server1上安装percona-zabbix模版

[root@server1 ~]# ls 4.0 anaconda-ks.cfg percona-zabbix-templates-1.1.8-1.noarch.rpm zabbix-api 
[root@server1 ~]# 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

Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第25张图片
复制percona的监控模版到被监控的服务器也就是server1上的zabbix-agent的相应目录下
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第26张图片
percona的脚本是由php编写的需要准备好php的运行环境,将zabbix的数据库和密码都写入php脚本中
在这里插入图片描述
文件编辑内容如下:
在这里插入图片描述
在这里插入图片描述
测试percona的监控脚本并且过滤监控项
在这里插入图片描述
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第27张图片
在web界面导入模版:
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第28张图片
选择导入路径
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第29张图片
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第30张图片
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第31张图片
点击下方的导入会显示导入成功
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第32张图片
pernoca模版的添加:
首先取消已经添加的mysql监控已经存在的模版
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第33张图片
再次为zabbix server主机添加数据库的监控模版percona
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第34张图片
会出现percona的模版点击选择即可
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第35张图片
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第36张图片
更新完成之后查看zabbix server的监控项,发现在i添加了mysql的已有的模版产生的监控项只有80多个当导入了新的模版后监控项的数量变为接近300个,则percona模版导入成功
在这里插入图片描述
Linux运维之zabbix(三)监控httpd,nginx,mysql服务_第37张图片
END

你可能感兴趣的:(linux运维,运维,linux,学习)