Linux学习笔记(3月5日)

5.22/5.23 zabbix监控nginx

  1. 修改客户机nginx虚拟主机配置文件default.conf
[root@rice02 ~]# vi /etc/nginx/conf.d/default.conf
// 在客户机nginx的默认虚拟主机配置文件里增加以下配置
location /nginx_status 
{
        stub_status on;
        access_log   off;
        allow 127.0.0.1;
        deny all;
}
[root@rice02 ~]# nginx -s reload
[root@rice02 ~]# curl 127.0.0.1/nginx_status
Active connections: 1 
server accepts handled requests
          1       1       1 
Reading: 0 Writing: 1 Waiting: 0

说明:

字段含义
Active Connections当前活动连接数,其中也包括了等待状态的连接
accepts接收到的连接数
handled已经处理完的连接数,该数字一般和accepts一致,如果不一致那么说明Nginx出错了
requests总共处理的请求数,一个连接可以有多个请求,所以该值比accpets要大
Reading正在读取请求头信息的连接数
Writing正在发送响应报文的连接数
Waiting处于闲置状态,等待客户端发送请求的连接数
  1. 编写监控脚本ngx_status.sh
[root@rice02 ~]# cd /usr/sbin/
[root@rice02 sbin]# vi ngx_status.sh
// 编写监控脚本
#!/bin/bash
url="http://127.0.0.1/nginx_status"
curl=/usr/bin/curl

# 检测nginx进程是否存在
function ping {
    /sbin/pidof nginx | wc -l 
}
# 检测nginx性能
function active {
    $curl $url 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
function reading {
    $curl $url 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
function writing {
    $curl $url 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
function waiting {
    $curl $url 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
function accepts {
    $curl $url 2>/dev/null| awk NR==3 | awk '{print $1}'
}
function handled {
    $curl $url 2>/dev/null| awk NR==3 | awk '{print $2}'
}
function requests {
    $curl $url 2>/dev/null| awk NR==3 | awk '{print $3}'
}
$1
[root@rice02 sbin]# chmod 755 ngx_status.sh
  1. 修改客户机zabbix-agent的配置文件
[root@rice02 ~]# vi /etc/zabbix/zabbix_agentd.conf
// 编辑配置文件,找到“UserParameter=”,在下面增加以下内容
UserParameter=nginx.status[*],/usr/sbin/ngx_status.sh $1
[root@rice02 ~]# systemctl restart zabbix-agent
  1. 测试监控脚本是否正常
    在zabbix服务端上执行zabbix_get -s 192.168.142.132 -k 'nginx.status[accepts]',看看是否有返回数值,accepts也可以替换为ping、writing、handled等字段。
  2. 在zabbix Web中监控nginx
    在浏览器中打开zabbix Web界面,进入Configuration下的Templates,点击Import,导入准备好的Nginx监控模板(zbx_export_templates.xml 提取码:uw2x),点击Add完成添加。
    进入Configuration下的Hosts,打开客户机riceyoung02的Templates,添加Nginx监控模板的链接。

5.24 zabbix监控tomcat

[root@rice01 ~]# yum install -y zabbix-java-gateway
[root@rice01 ~]# vi /etc/zabbix/zabbix_java_gateway.conf
// 定义LISTEN_IP="0.0.0.0"、LISTEN_PORT=10052、START_POLLERS=5
[root@rice01 ~]# vi /etc/zabbix/zabbix_server.conf
// 定义JavaGateway=127.0.0.1、JavaGatewayPort=10052、StartJavaPollers=5
[root@rice01 ~]# systemctl start zabbix-java-gateway
[root@rice01 ~]# systemctl restart zabbix-server
[root@rice01 ~]# vi /usr/local/tomcat/bin/catalina.sh
// 在#!/bin/sh下增加以下配置
export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=192.168.142.131 // 定义java服务器的IP
-Dcom.sun.management.jmxremote.port=9999 // 定义Java服务器的端口
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
[root@rice01 ~]# alias tomcat-start='/usr/local/tomcat/bin/startup.sh'
[root@rice01 ~]# alias tomcat-stop='/usr/local/tomcat/bin/shutdown.sh'
[root@rice01 ~]# tomcat-stop
[root@rice01 ~]# tomcat-start

完成以上配置后,打开zabbix Web界面,进入配置主机界面,点击Create host,定义主机名为riceyoung01_tomcat、群组为Linux servers,然后移除Agent interfaces内的设置,添加JMX interfaces的设置,定义IP为127.0.0.1、端口为9999。进入主机的模板配置,链接Template App Apache Tomcat JMX和Template App Generic Java JMX两个模板,完成Tomcat的监控。

5.25 zabbix监控mysql

[root@rice01 ~]# mysql -uroot -p111111
// 授权一个监控用户mon,密码111111
MariaDB [(none)]> grant usage, process, replication client on *.* to 'mon'@'localhost' identified by '111111';
[root@rice01 ~]# mkdir /var/lib/zabbix/
[root@rice01 ~]# vi /var/lib/zabbix/.my.cnf
// 创建目录后,生成一个隐藏文件,并写入以下配置
[mysql]
host=localhost
user=mon
password='111111'
socket=/tmp/mysql.sock

[mysqladmin]
host=localhost
user=mon
password='111111'
socket=/tmp/mysql.sock
[root@rice01 ~]# ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/
// 让mysqladmin命令生效,然后执行以下命令测试是否能抓取到数据
[root@rice01 ~]# zabbix_get -s 127.0.0.1 -p 10050 -k mysql.ping
1
[root@rice01 ~]# zabbix_get -s 127.0.0.1 -p 10050 -k mysql.version
mysql  Ver 15.1 Distrib 5.5.63-MariaDB, for Linux (x86_64) using readline 5.1
[root@rice01 ~]# zabbix_get -s 127.0.0.1 -p 10050 -k mysql.size
73728

完成以上配置后,打开zabbix Web界面,进入配置主机界面并创建新主机,定义主机名为riceyoung01_mysql,群组为Linux servers,定义Agent interfaces的IP和端口,进入模板项,链接Template DB MySQL模板,完成Mysql的监控。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值