Zabbix 4.0.0 常用监控资源相关配置(图文详解)

文章目录

    • Zabbix 监控主机配置
    • Zabbix 告警设置
    • Zabbix 监控WEB
    • Zabbix 监控Tomcat(JMX)
    • Zabbix 监控MYSQL
    • Zabbix 监控Nginx
    • Zabbix 监控TCP链接状态
    • Zabbix 服务发现【批量监控主机】
    • Zabbix 自动注册【批量监控主机】

Zabbix 监控主机配置

  • 在目标主机上安装zabbix_agentd用与收集信息

    • 部署YUM源
    #安装依赖
    yum install -y gcc gcc-c++ make gd-devel libxml2-devel libcurl-devel libjpeg-devel libpng-devel openssl-devel libxslt-devel
    
    # zabbix仓库连接 http://repo.zabbix.com/
    
    #部署yum源
    rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
    

    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第1张图片

    • 安装zabbix_agentd
    #安装
    yum install -y zabbix-agent
    

    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第2张图片

    • 配置zabbix_server地址
    #编辑命令
    vim /etc/zabbix/zabbix_agentd.conf
    
    #配置内容
    PidFile=/var/run/zabbix/zabbix_agentd.pid
    LogFile=/var/log/zabbix/zabbix_agentd.log
    DebugLevel=3
    ListenPort=10050
    ListenIP=192.168.44.101
    Hostname=192.168.44.101
    
    #zabbix server 地址
    Server=192.168.44.100
    #主动监测 zabbix server地址
    ServerActive=192.168.44.100
    Include=/etc/zabbix/zabbix_agentd.d/*.conf
    # UserParameter=
    
    • zabbix_agentd启停相关
    #开机自启
    systemctl enable zabbix-agent
    
    #Agentd启停相关
    systemctl start zabbix-agent
    systemctl stop zabbix-agent
    systemctl restart zabbix-agent
    
    #查看进程
    ps -ef|grep zabbix
    

    在这里插入图片描述

    • 在zabbix-server主机上测试连通性
    #连通性测试 zabbix-server主机上测试
    /usr/local/zabbix/bin/zabbix_get -s <被监控主机IP> -p 10050 -k "system.hostname"
    

    在这里插入图片描述

  • WEB 端配置监控主机

    • 监控流程
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第3张图片
    • 添加主机
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第4张图片
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第5张图片
    • 查看已经创建的主机
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第6张图片
    • 创建应用集
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第7张图片
    • 创建监控项
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第8张图片
    • 为监控项创建图形
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第9张图片
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第10张图片
    • 配置触发器
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第11张图片
  • 模板配置

    • 常用默认配置目标参考链接
    • 为目标主机配置模板
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第12张图片

Zabbix 告警设置

  • Email 告警

    • 告警流程
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第13张图片
    • 配置Email邮件服务器信息
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第14张图片
    • 配置告警动作 故障/恢复操作
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第15张图片
    • 配置用户组用户的接受报警媒介
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第16张图片
    • 到此,Email告警配置完成,当发生故障或故障恢复的都会发生邮件
      在这里插入图片描述
  • 自定义脚本告警sendEmail

    • 安装Mail资源
    #安装mailx
    yum install -y mailx dos2unix
    
    • 配置邮件服务器信息
    #配置邮件服务器
    vim /etc/mail.rc
    
    #Mail Server info
    set [email protected] smtp=smtp.163.com
    set [email protected] smtp-auth-password=xxxxxxx123
    set smtp-auth=login
    

    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第17张图片

    • 测试邮件发送
    #测试邮件发送
    echo "邮件内容" |mail -s "邮件标题" [email protected]
    

    在这里插入图片描述

    • 配置zabbix_sever中脚本路径
    #在zabbix_server.conf中配置脚本路径
    vim /usr/local/zabbix/etc/zabbix_server.conf
    
    #指定脚本目录
    AlertScriptsPath=${datadir}/zabbix/alertscripts
    
    • 配置告警脚本
    #创建脚本
    cd /usr/local/zabbix/share/zabbix/alertscripts/
    touch sendMail.sh
    vim sendMail.sh
    
    #脚本内容
    #!/bin/bash
    to=$1
    subject=$2
    body=$3
    FILE=/tmp/mail.tmp
    echo "$body" > $FILE
    # 解决正文变成附件.bin
    dos2unix -k $FILE   
    mail -s "$subject" "$to" < $FILE
    
    #加入可执行权限
    chmod +x sendMail.sh
    
    #为mail授予zabbix权限
    chown zabbix.zabbix /tmp/mail.tmp
    

    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第18张图片

    • 测试脚本发送邮件
     #测试脚本
     ./sendMail.sh 目标邮件地址 邮件标题 '邮件内容'
     
     ./sendMail.sh [email protected] zabbix 'zabbix 123456'
    

    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第19张图片

    • WEB Zabbix控制台创建媒介类型
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第20张图片
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第21张图片
    • 为用户配置媒介
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第22张图片
    • 自动告警测试
      在这里插入图片描述
  • 钉钉告警配置

    • 获取钉钉机器人Webhook 地址
    #钉钉机器人
    https://oapi.dingtalk.com/robot/sendaccess_token=97cbd23c133e7bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    

    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第23张图片

    • 编写钉钉告警脚本
    #安装依赖
    yum install -y python-requests
    
    #创建脚本
    cd /usr/local/zabbix/share/zabbix/alertscripts/
    touch DingDing.py
    vim DingDing.py
    
    #脚本内容
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    import requests
    import json
    import sys
    import os
      
    headers = {'Content-Type': 'application/json;charset=utf-8'}
    #钉钉机器人地址
    api_url = "https://oapi.dingtalk.com/robot/send?access_token=97cbd23c133e7bbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
      
    def msg(text):
        json_text= {
         "msgtype": "text",
         "text": {
             "content": text
         },
         "at": {
             "atMobiles": [
                 "166..."
             ], 
             "isAtAll": False
         }
        }
        print requests.post(api_url,json.dumps(json_text),headers=headers).content
          
    if __name__ == '__main__':
        text = sys.argv[1]
        msg(text)
    
    #加入可执行权限
    chmod +x DingDing.py
    

    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第24张图片

    • 脚本 测试发送
    ./DingDing.py 'Problem'  
    

    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第25张图片

    • WEB 配置告警媒介
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第26张图片
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第27张图片
    • 为用户配置媒介
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第28张图片
    • 告警测试
      在这里插入图片描述
    • 到此、钉钉告警配置完成。

Zabbix 监控WEB

  • WEB 网站监控指标 【平均下载速度,响应时间,HTTP 状态码】
  • 配置WEB 监控模板
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第29张图片
  • 进入刚创建的WEB Monitor模板配置WEB场景
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第30张图片
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第31张图片
  • 为目标主机配置WEB Monitor模板
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第32张图片
  • 查看WEB监控信息
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第33张图片
  • 中文乱码解决
#上传字体并拷贝至目标目录
cp STXINWEI.TTF /usr/local/nginx/html/fonts/
 
 #重命名
 mv STXINWEI.TTF DejaVuSans.ttf

Zabbix 监控Tomcat(JMX)

  • Tomcat 指标监控 【堆内存 类加载 线程 GC】

  • 为Tomcat开启JMX监控

#编辑命令
vim catalina.sh

#开启JMX监控
CATALINA_OPTS="-Dcom.sun.management.jmxremote
                -Djava.rmi.server.hostname=192.168.44.101
                -Dcom.sun.management.jmxremote.port=12355
                -Dcom.sun.management.jmxremote.ssl=false
                -Dcom.sun.management.jmxremote.authenticate=false"
                
#查看监听端口
netstat -antp|grep 12355 

Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第34张图片
在这里插入图片描述

  • 在zabbix_server上开启Java监控功能
#启动查看zabbix命令目录
cd /usr/local/zabbix/sbin/ && ll

cd zabbix_java
./startup.sh

ps -ef|grep zabbix_java

#监听端口
netstat -antp|grep 10052

在这里插入图片描述

  • 在zabbix_server上配置zabbix_java监控
 #配置zabbix_server 连接java
 vim /usr/local/zabbix/etc/zabbix_server.conf
 
 #配置内容
 JavaGateway=192.168.44.100
 JavaGatewayPort=10052
 #配置Java线程数
 StartJavaPollers=4
 
 #重启动zabbix_server
 systemctl restart zabbix_server
  • 为目标主机配置JMX模板
    在这里插入图片描述
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第35张图片
  • 查看Tomcat(JMX)监控信息
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第36张图片

Zabbix 监控MYSQL

  • MYSQL 监控指标【实例状态 连接数 流量 增删改查 缓冲池大小与利用率】
  • 编写数据库监控脚本
#创建脚本
touch userparameter_mysql.conf

#脚本内容
# 连接数
UserParameter=mysql.max_connections,echo "show variables where Variable_name='max_connections';" | mysql -N | awk '{print $2}'
UserParameter=mysql.current_connections,echo "show global status where Variable_name='Threads_connected';" |  mysql -N | awk '{print $2}'
# 缓冲池
UserParameter=mysql.buffer_pool_size,echo "show variables where Variable_name='innodb_buffer_pool_size';" | mysql -N |awk '{printf "%.2f",$2/1024/1024/1024}' 
UserParameter=mysql.buffer_pool_usage_percent,echo "show global status where Variable_name='Innodb_buffer_pool_pages_free' or Variable_name='Innodb_buffer_pool_pages_total';" | mysql -N | awk '{a[NR]=$2}END{printf "%.1f",100-((a[1]/a[2])*100)}'
# 增删改查
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | mysql -N | awk '{print $$2}'
# 实例状态
UserParameter=mysql.ping,HOME=/usr/local/zabbix_agent mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V
  • 为MYSQL 配置免密登录
#编辑命令
vim /etc/my.cnf

#内容

[mysql]
default-character-set=utf8
host=192.168.44.101
user=zabbix_sql
password=SYS_666_zabbix_sql

[mysqladmin]
host=192.168.44.101
user=zabbix_sql
password=SYS_666_zabbix_sql

在这里插入图片描述

  • 测试获取数据
#获取链接数
echo "show variables where Variable_name='max_connections';" | mysql -N | awk '{print $2}'

在这里插入图片描述

  • 将编写好的脚本文件放至zabbix_agentd脚本目录
#查看zabbix_agentd配置信息
cat /etc/zabbix/zabbix_agentd.conf

#拷贝
mv userparameter_mysql.conf /etc/zabbix/zabbix_agentd.conf.d/

#重启agentd
systemctl restart zabbix-agent
  • 在Zabbix WEB端配置新的MYSQL监控模板
    • 删除默认的MYSQL监控模板
    • 导入模板
      Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第37张图片
  • 为主机配置MYSQL模板
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第38张图片
  • 查看MYSQL监控信息
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第39张图片

Zabbix 监控Nginx

  • Nginx监控指标
参数 描述
active 当前活动的客户端链接数,包括waiting等待数
accepts 已接受客户端连接数
handled 已处理的连接总数
requests 客户端请求的总数
reading 正在读取请求头的当前连接数
writing 将响应写会客户端的当前连接数
waiting 等待请求空闲客户端的当前连接数
  • 开启Nginx远程状态监控
#编辑配置
vim /usr/local/nginx/conf/nginx.conf

#开启nginx状态手机
server {
       listen       8099;
       server_name  localhost;

       location /nginx_status {
           stub_status on;
           access_log off;
           allow 192.168.44.101;
           allow 1127.0.0.1;
           deny all;
      }
   }
    
    
#重启Nginx
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload

Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第40张图片

  • 测试获取监控指标
curl http://127.0.0.1:8099/nginx_status

Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第41张图片

  • 编写Nginx监控脚本
#创建脚本
mkdir -p /opt/zabbix_scripts
cd /opt/zabbix_scripts && touch nginx_status.sh
vim nginx_status.sh

#脚本内容
#!/bin/bash
result="/usr/bin/curl -s http://127.0.0.1:8099/nginx_status"
case $1 in
    active)
        $result |awk '/Active/ {print $NF}'
    ;;
    accepts)
        $result |awk 'NR==3 {print $1}'
    ;;
    handled)
        $result |awk 'NR==3 {print $2}'
    ;;
    requests)
        $result |awk 'NR==3 {print $3}'
    ;;
    reading)
        $result |awk '/Reading/ {print $2}'
    ;;
    writing)
        $result |awk '/Writing/ {print $4}'
    ;;
    waiting)
         $result |awk '/Waiting/ {print $6}'
    ;;
          *)
    echo "USAGE:$0 {active|reading|writing|waiting|accepts|handled|requests}"
esac

#授权
chmod +x nginx_status.sh
  • 编辑zabbix_agentd.conf配置脚本
#编辑命令
vim /etc/zabbix/zabbix_agentd.conf 

#配置脚本位置
UserParameter=nginx.status[*],/opt/zabbix_scripts/nginx_status.sh $1

#重启zabbix_agentd
systemctl restart zabbix-agent
  • 在Zabbix WEB端导入监控模板
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第42张图片

  • 为目标主机配置Nginx模板
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第43张图片

  • 查看Nginx监控信息

Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第44张图片

Zabbix 监控TCP链接状态

  • TCP11种状态信息

    • LISTEN
    • ESTABLISHED
    • SYN-SENT
    • SYN-RECV
    • TIME-WAIT
    • CLOSE-WAIT
    • FIN-WAIT-1
    • FIN-WAIT-2
    • CLOSE
    • LAST-ACK
    • CLOSING
  • 配置TCP监听信息

#编辑命令
vim /etc/zabbix/zabbix_agentd.conf 

#配置参数
UserParameter=tcp.status[*],ss -antp | awk '{a[$$1]++}END{print a["'$1'"]}'

#重启agentd
systemctl restart zabbix-agent
  • 测试获取参数
/usr/local/zabbix/bin/zabbix_get -s 192.168.44.101 -p 10050 -k 'tcp.status[LISTEN]'

在这里插入图片描述

  • 在Zabbix WEB端配置TCP模板
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第45张图片
  • 为主机配置TCP模板
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第46张图片
  • 查看TCP监控信息
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第47张图片

Zabbix 服务发现【批量监控主机】

  • 使用Ansible批量安装Agent
#安装Ansible
yum install -y openssh-server ansible

#配置目标主机
vim /etc/ansible/hosts 

#可配置多个目标主机IP
[webservers]
192.168.44.102

在这里插入图片描述

  • 配置SSH免密登录
#生成秘钥
ssh-keygen
#拷贝秘钥至目标主机
ssh-copy-id 目标主机IP
  • 编写Ansible批量安装zabbix_agent配置
#切换目录
cd /opt/tel
touch zabbix_agent.yml
vim zabbix_agent.yml

#内容
---
- hosts: webservers
  vars:
  - zabbix_server: 192.168.44.100
  tasks:
    - name: Install zabbix agent - CentOS6
      yum: name=https://hf-file-bucket.oss-cn-beijing.aliyuncs.com/zabbix/4.0/rhel/6/zabbix-agent-4.0.0-2.el6.x86_64.rpm state=present
      when: ansible_distribution == "CentOS" and ansible_distribution_major_version == "6"
 
    - name: Install zabbix agent - CentOS7
      yum: name=https://hf-file-bucket.oss-cn-beijing.aliyuncs.com/zabbix/4.0/rhel/7/zabbix-agent-4.0.0-2.el7.x86_64.rpm state=present
      when: ansible_distribution == "CentOS" and ansible_distribution_major_version == "7"

    - name: Copy zabbix agent configuration file
      template: src=/opt/tel/zabbix_agentd.conf.j2 dest=/etc/zabbix/zabbix_agentd.conf

    - name: Start zabbix agent
      service: name=zabbix-agent state=started enabled=true
  • 配置Agent 配置文件模板
#切换目录
cd /opt/tel
touch zabbix_agentd.conf.j2
vim zabbix_agentd.conf.j2

#内容
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
DebugLevel=3
Server={{ zabbix_server }}
ListenPort=10050
ListenIP={{ ansible_default_ipv4.address }}
ServerActive={{ zabbix_server }}
Hostname={{ ansible_default_ipv4.address }} 
HostMetadataItem=system.uname
Include=/etc/zabbix/zabbix_agentd.d/*.conf
#TCP链接
UserParameter=tcp.status[*],ss -antp |awk '{a[$$1]++}END{print a["'$1'"]}'
  • 执行Ansible远程安装命令
#远程安装
ansible-playbook /opt/tel/zabbix_agent.yml

Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第48张图片

  • Zabbix WEB端配置自动发现
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第49张图片

  • 查看Zabbix自动发现的主机
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第50张图片

  • 配置自动发现的动作
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第51张图片

  • 查看监控主机
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第52张图片

  • 查看主机监控的TCP信息
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第53张图片

Zabbix 自动注册【批量监控主机】

  • 开启Agent主动模式
#编辑
vim /etc/zabbix/zabbix_agentd.conf

#内容
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
DebugLevel=3
Server=192.168.44.100
ListenPort=10050
ListenIP=192.168.44.102
ServerActive=192.168.44.100
Hostname=192.168.44.102 
#元数据信息
HostMetadataItem=system.uname
Include=/etc/zabbix/zabbix_agentd.d/*.conf
#TCP链接
UserParameter=tcp.status[*],ss -antp |awk '{a[$$1]++}END{print a["'$1'"]}'
  • 配置Zabbix_server端为自动模式
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第54张图片
  • 配置自动注册规则
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第55张图片
  • 查看自动注册的主机
    Zabbix 4.0.0 常用监控资源相关配置(图文详解)_第56张图片

你可能感兴趣的:(Zabbix,Zabbix,MYSQL,Tomact)