运维监控系统——配置服务监控项(Http,Nginx,MySQL)
一、添加自带的http监控项
1.在浏览器中给server2添加http的监控项
- http是zabbix自带的监控模版
- 配置 —>主机 —> server2 —> 模板 —>选择 —> Template App HTTP Service—> 添加 —>更新
点击server2的监控项可以看到http服务正在运行
二、添加nginx监控
zabbix中没有nginx的监控项,所以要在agent端部署nginx服务
1.部署nginx服务并测试
(1)安装nginx的依赖性
[root@server3 ~]# yum install gcc pcre-devel zlib-devel -y
(2)解压安装包,关闭debug日志,编译安装
[root@server3 ~]# ls nginx-1.16.0.tar.gz zabbix-agent-4.0.5-1.el7.x86_64.rpm [root@server3 ~]# tar zxf nginx-1.16.0.tar.gz ##解压安装包 [root@server3 ~]# ls nginx-1.16.0 nginx-1.16.0.tar.gz zabbix-agent-4.0.5-1.el7.x86_64.rpm [root@server3 ~]# cd nginx-1.16.0 [root@server3 nginx-1.16.0]# vim auto/cc/gcc ##关闭debug日志 [root@server3 nginx-1.16.0]# [root@server3 nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module ##编译,需要添加http_stub_status_module模块,这是用来监控http状态的 [root@server3 nginx-1.16.0]# make && make install
(3)编辑配置文件
[root@server3 nginx-1.16.0]# cd /usr/local/nginx/conf/ [root@server3 conf]# vim nginx.conf location /status { stub_status on; ##状态监控开启 access_log off; ##不记录状态监控的日志 allow 127.0.0.1; ##只允许管理员查看 deny all; ##其他的都拒绝 }
(4)语法检测,开启服务
[root@server3 conf]# ../sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@server3 conf]# ../sbin/nginx
(5)访问测试:
[root@server3 conf]# curl http://127.0.0.1/status Active connections: 1 server accepts handled requests 1 1 1 Reading: 0 Writing: 1 Waiting: 0
(6)安装httpd,模拟访问量
[root@server3 conf]# yum install -y httpd [root@server3 conf]# ab -c 1 -n 1000 http://127.0.0.1/status [root@server3 conf]# curl http://127.0.0.1/status [root@server3 conf]# curl -s http://127.0.0.1/status Active connections: 1 server accepts handled requests 1003 1003 1003
(7)截取连接数
[root@server3 conf]# curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
2 . 创建nginx监控项
(1)编辑一个监控项配置文件
[root@server3 conf]# 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 [root@server3 zabbix_agentd.d]# ls userparameter_mysql.conf userparameter_nginx.conf [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}'
(2)server端获得数据
server1: 安装zabbix-get
[root@server1 ~]# ls 4.0 zabbix-api [root@server1 ~]# cd 4.0/ [root@server1 4.0]# yum install zabbix-get-4.0.5-1.el7.x86_64.rpm [root@server1 4.0]# zabbix_get -s 172.25.16.3 -p 10050 -k "nginx.active" 1
3.浏览器中配置
创建监控项,其中键值必须和文件中一致
-
配置—> 主机—> server3—> 监控项—> 创建监控项
-
编辑监控项的名称,输入键值—>添加
-
选择图形— 3ff7 >创建图形—>编辑图形的名称---->点击监控项那一栏的添加,勾选刚刚创建的监控项—>添加
-
可以看到图形添加成功
-
新打开一个标签页,访问172.25.6.3,出现的是nginx的默认测试页
-
点击刚刚添加的图形,点击预览 ,可以看到图形出现变化,但现在的字体是乱码
4.替换字体
下载自己喜欢的字体放在 /usr/share/zabbix/fonts/目录下,编辑 /usr/share/zabbix/include/ defines.inc.php 文件,将原来的字体graphfont.ttf替换成simkai.ttf
[root@server1 ~]# cd /usr/share/zabbix/fonts/ [root@server1 fonts]# ls graphfont.ttf ##原有的字体 [root@server1 fonts]# ls graphfont.ttf simkai.ttf ##新下载的字体 [root@server1 fonts]# cd ../include/ [root@server1 include]# ls [root@server1 include]# vim defines.inc.php :%s/graphfont/simkai/g
5.再次查看图形,字体改变
6.再添加一个监控项:nginx.accept
[root@server3 ~]# curl -s http://127.0.0.1/status Active connections: 1 server accepts handled requests 1060 1060 1062 Reading: 0 Writing: 1 Waiting: 0 [root@server3 ~]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}' 1061
(1)编辑配置文件,添加新的监控项
[root@server3 ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}' UserParameter=nginx.accept,curl -s http://127.0.0.1/status |awk NR==3 | awk '{print $1}'
重启服务
[root@server3 ~]# systemctl restart zabbix-agent
(2)server端get数据
[root@server1 include]# zabbix_get -s 172.25.6.3 -p 10050 -k "nginx.accept"
(3)浏览器配置
创建监控项 将图形更新,添加一个监控项
-
配置 —>主机 —>server3 —> 监控项 —> 创建监控项
-
选择图形–>点击之前创建的图形—>将新的监控项添加进去
-
更新后查看图形
-
模拟1000访问量,观察图形
[root@server3 ~]# ab -c 1 -n 1000 http://127.0.0.1/status
三、zabbix监控mysql服务
1.给Zabbix server主机添加zabix自带的mysql监控模版
- 配置 —>主机 —> Zabbix servers —>模板 —>选择 —>Template DB MySQl —> 选择 —> 添加(顶上去) —> 更新
配置mysql
(1)存活检测
[root@server1 ~]# cd /var/lib [root@server1 lib]# ls [root@server1 lib]# mysqladmin -uzabbix -predhat -h 127.0.0.1 | grep -c alive ##存活检测 1表示存活 0表示挂了 1
(2)创建一个zabbix目录,新建一个.my.cnf文件
[root@server1 lib]# mkdir zabbix [root@server1 lib]# ls [root@server1 lib]# cd zabbix/ [root@server1 zabbix]# ls [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]# 重启zabbix-agent服务 [root@server1 zabbix]# systemctl restart zabbix-agent
(3)server1访问数据库产生数据
[root@server1 zabbix]# mysql -p Enter password: MariaDB [(none)]> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | zabbix | +--------------------+ 4 rows in set (0.00 sec) MariaDB [(none)]> USE zabbix; MariaDB [zabbix]> SELECT * FROM users;
(4)浏览器图形中查看到数据
可以看到他只增加了14个监控项,这在实际的生产环境中显然是不够的,所以我们继续增加监控项
2.通过percona监控mysql
percona:开源的mysql分析工具
(1)安装percona模版
[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
(2)拷贝userparameter_percona_mysql.conf文件到被监控的mysql服务器上 ( server1:/etc/zabbix/zabbix_agentd.d/)
[root@server1 ~]# cd /var/lib/zabbix/ [root@server1 zabbix]# ls percona [root@server1 zabbix]# cd percona/ [root@server1 percona]# ls scripts templates [root@server1 percona]# cd scripts/ [root@server1 scripts]# ls get_mysql_stats_wrapper.sh ss_get_mysql_stats.php [root@server1 scripts]# cd ../templates/ [root@server1 templates]# ls userparameter_percona_mysql.conf zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml [root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
(3)由于percona的监控脚本是用php写的,所以需要准备好php运行环境,将zabbix的数据库和密码写入php脚本中
[root@server1 templates]# cd ../scripts/ [root@server1 scripts]# ls get_mysql_stats_wrapper.sh ss_get_mysql_stats.php [root@server1 scripts]# vim ss_get_mysql_stats.php.cnf <?php $mysql_user = 'root'; $mysql_pass = 'redhat'; ?> [root@server1 scripts]# systemctl restart zabbix-agent
(4)检测percona的脚本,过滤监控项
[root@server1 scripts]# cd /etc/zabbix/zabbix_agentd.d/ [root@server1 zabbix_agentd.d]# ls userparameter_mysql.conf userparameter_percona_mysql.conf [root@server1 zabbix_agentd.d]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg 0
(5)浏览器中导入模版,添加监控项
导入成功之后有293个监控项
- 配置 —>主机 —> 群组 —> Templates/Operabing systems —> 导入 —> Brwose选择模板存放的位置 —> 勾选聚合图形 —>导入
- 配置—>主机 —>模板 —>选择percona模板 —>更新
- 运维笔记43 使用saltstack配置完整线上服务(haproxy+keepalived,nginx+php+memcache,mysql主从)
- zabbix-agent安装及添加配置nginx,mysql及系统的监控
- Nginx http服务相关的配置文件
- 运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(六)
- zabbix监控服务——httpd,nginx,mysql,java
- 运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(一)
- Nginx(二):HTTP服务的相关配置
- APP后台开发运维与架构实践 5 : Nginx --- App后台HTTP服务的利器
- 运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(五)
- centos6.5安装配置nginx+php+mysql+httpsqs+ttserver+redis
- 阿里云CENTOS系统安装PHP+MYSQL+NGINX环境配置
- cacti的安装及配置监控mysql服务
- zabbix配置监控某一系统服务
- 运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(二)
- 运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统
- Cacti监控服务器配置教程(基于CentOS+Nginx+MySQL+PHP环境搭建)
- linux运维学习shell脚本监控nginx服务
- 【Linux系统和服务管理】MySQL服务器安装与配置(一)
- Linux系统Apache服务 - 配置 HTTP 的虚拟机主机
- 鸡蛋学运维-7:mysql服务安装配置