2.zabbxi操作和设置

文章目录

  • zabbxi操作和设置
    • 添加zabbix-agent客户端
      • web端添加客户端
    • 自定义监控模板(面试)
      • 监控模板下载地址
      • 案例1
      • 案例2
    • 设置邮件报警
    • 自动注册和自动发现
      • 自动发现(对于agent是被动模式)
      • 自动注册(对于agent是主动模式)

zabbxi操作和设置

添加zabbix-agent客户端

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

vim /etc/selinux/config

SELINUX=disabled
##进行时间同步
##服务端和客户端都配置时间同步

yum install -y ntpdate
ntpdate -u ntp.aliyun.com



##如果修改了主机名
hostnamectl set-hostname zbx-agent01

##需要在服务端和客户端都设置 hosts 解析

vim /etc/hosts
192.168.242.66 zbx-server
192.168.242.67 zbx-agent01
##客户端安装  zabbix-agent
##在线安装agent

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm



##因为一些网络原因,可以使用国内的镜像网址

sed -i 's#repo.zabbix.com#mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo





yum -y install zabbix-agent

systemctl restart zabbix-agent
systemctl enable zabbix-agent

netstat -lntp | grep 10050			
#客户端 zabbix_agent 默认监听 10050 端口
##修改 agent  配置文件

vim /etc/zabbix/zabbix_agentd.conf

Server=192.168.242.66			
#117行,指定 zabbix 服务端的 IP 地址


ServerActive=192.168.242.66		
#171行,指定 zabbix 服务端的 IP 地址


Hostname=zbx-agent01			
#182行,指定当前 zabbix 客户端的主机名
##启动 zabbix-agent

systemctl restart zabbix-agent
systemctl enable zabbix-agent

netstat -natp | grep zabbix
##在服务端测试验证  zbx-agent01的连通性

yum install -y zabbix-get				
#安装 zabbix 主动获取数据的命令



zabbix_get -s '192.168.242.67' -p 10050 -k 'agent.ping'
1

##192.168.242.67为zabbix-agent的IP地址



zabbix_get -s '192.168.242.67' -p 10050 -k 'system.hostname'
zbx-agent01
###常用的键值

agent.ping										
#服务端与客户端是否连通,返回1表示可达,返回非表示不可达


system.hostname									
#系统主机名

agent.hostname									
#客户端主机名

net.if.in[if,]							
#网络接口进入的流量统计,if表示网卡名称,带<>的参数表示可以省略


net.if.out[if,]							
#网络接口流出的流量统计


proc.num[,,,,]
#进程数


net.tcp.port[,port]							
#检查是否能建立tcp连接到指定端口,返回0表示不能连接,返回1表示可以连接

web端添加客户端

##首先在web浏览器登陆到  zabbix  的服务端

http://192.168.242.66/index.php
##添加主机

左侧功能列表  
--》   配置   
--》   主机
右上角创建主机  

在新出来的窗口  
--》添加 主机名称  
--》模板    Linux by Zabbix agent 
--》群组    Linux servers
--》Interfaces 添加 客户端   输入agent的IP地址
--》最后点击添加

##
在主机界面等主机后面的   可用性下的  ZBX   变成绿色就是添加成功了

2.zabbxi操作和设置_第1张图片
2.zabbxi操作和设置_第2张图片

2.zabbxi操作和设置_第3张图片
2.zabbxi操作和设置_第4张图片

自定义监控模板(面试)

监控模板下载地址

https://share.zabbix.com/
https://monitoringartist.github.io/zabbix-searcher/
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates

案例1

  • 案列:自定义监控客户端服务器登录的人数
  • 需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息
###明确需要执行的 linux 命令

who | wc -l
##创建 zabbix 的监控项配置文件,用于自定义 key

vim /etc/zabbix/zabbix_agentd.conf
#可以将自定义的监控项配置文件创建在 zabbix_agentd.d 目录中
##323行
Include=/etc/zabbix/zabbix_agentd.d/*.conf


自定义监控项的格式如下
##346行
Format: UserParameter=,



cd /etc/zabbix/zabbix_agentd.d/

vim login_user.conf

UserParameter=login.user,who | wc -l
##重启服务并在服务端进行验证
systemctl restart zabbix-agent

zabbix_get -s '192.168.242.67' -p 10050 -k 'login.user'
##这里的login.user为key
##创建模板

左侧配置
--》 模板
--》 右上角创建模板

2.zabbxi操作和设置_第5张图片

##创建模板配置

--》模板名称   根据要求写
--》群组       Templates
--》描述       自定义
--》点击添加
--》模块界面。点击刚才创建的模块,进入编辑页面 

2.zabbxi操作和设置_第6张图片
2.zabbxi操作和设置_第7张图片

##创建的模板创建监控项

--》上排监控项
--》右上角创建监控项
--》名称      Number of login user
--》键值      键值必须要与自定义的监控项配置文件中设置的保持一致
--》更新间隔   10s
--》历史数据保留时间
--》趋势存储时间        根据需求设置
--》点击添加

2.zabbxi操作和设置_第8张图片

##创建的模板创建触发器

--》上排触发器
--》右上角创建触发器
--》名称          根据需要创建     number of login users is greater than 3
--》严重性         根据需要选择,根据严重程度可自定义设置
--》表达式        右面添加


##表达式添加

--》监控项       选择刚才创建的监控行
--》根据要求选择功能
--》结果   根据要求选择
--》点击插入

2.zabbxi操作和设置_第9张图片

2.zabbxi操作和设置_第10张图片

2.zabbxi操作和设置_第11张图片

##创建的模块创建图形

--》上排图形
--》右上角创建图形
--》名称           根据需要写
--》高、宽         保持默认值
--》监控项,点击添加         选择刚才创建的监控项
--》功能            根据要求选择    最大
--》点击添加

2.zabbxi操作和设置_第12张图片

##将主机与创建的模板关联
##一个主机可以关联多个模块

--》左侧配置
--》主机
--》点击主机名
--》模块    选择需要的模块
--》点击更新

2.zabbxi操作和设置_第13张图片
2.zabbxi操作和设置_第14张图片

##查看主机的图形结构

--》左侧监测
--》主机
--》点击主机名
--》选择图形
--》就能看见各个模块的线型图

2.zabbxi操作和设置_第15张图片

案例2

##监控  nginx  服务的并发量等数据
##nginx在线源

vim /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true


yum -y install nginx
##修改配置文件,打开状态统计模块

vim /etc/nginx/conf.d/default.conf


location /nginx_status {
	stub_status on;
	access_log off;
	allow 127.0.0.1;
	deny all;
}

systemctl restart nginx
systemctl enable nginx
netstat -lntp | grep nginx
##获取各种nginx状态数据

curl -sL http://127.0.0.1/nginx_status


Active connections: 当前的活动连接数
server accepts handled requests
 1 1 1
Reading: 0 Writing: 1 Waiting: 0


accepts:已接收的连接数
handled:成功处理的连接数
requests:累计处理的总请求数
Reading:当前正在从客户端读取数据的连接数
Writing:当前正在向客户端写入数据的连接数
Waiting:当前空闲并等待请求的连接数
##  nginx  状态统计脚本

vim /opt/zbx-nginx.sh



#/bin/bash
#Description:Automated monitoring nginx performance and process nginx_status scripts

HOST="127.0.0.1"
PORT=80
stub_status="nginx_status"
COMMAND=$1

nginx_check() {
    if [ -f /sbin/pidof ]; then
       /sbin/pidof nginx | wc -w
    else
       ps aux | grep -v "grep" | grep -c "nginx:"
    fi
}

nginx_active(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Active/ {print $NF}'
}

nginx_reading(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Reading/ {print $2}'
}

nginx_writing(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Writing/ {print $4}'
}

nginx_waiting(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Waiting/ {print $6}'
}

nginx_accepts(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $1}'
}

nginx_handled(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $2}'
}

nginx_requests(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $3}'
}

case $COMMAND in
    check)
        nginx_check
        ;;
    active)
        nginx_active
        ;;
    reading)
        nginx_reading
        ;;
    writing)
        nginx_writing
        ;;
    waiting)
        nginx_waiting
        ;;
    accepts)
        nginx_accepts
        ;;
    handled)
        nginx_handled
        ;;
    requests)
        nginx_requests
        ;;
    *)
        echo $"USAGE:$0 {check|active|reading|writing|waiting|accepts|handled|requests}"
esac
chmod +x /opt/zbx-nginx.sh

##到  agent 配置文件中准备文件

cd /etc/zabbix/zabbix_agentd.d/

vim nginx_status.conf

UserParameter=nginx.status[*],/opt/zbx-nginx.sh $1

[*]:代表使用参数时后面的参数
$1:也是表示后面跟的参数,表示[]里的值
##重启服务
systemctl restart zabbix-agent


##在  zabbix  服务端验证键的连通性

zabbix_get -s '192.168.242.67' -p 10050 -k 'nginx.status[requests]'

根据上面的Web创建模块方法,创建模块,创建监控项,创建触发器,创建图形,并连接主机

设置邮件报警

##创建报警媒介

--》左侧,管理下的报警媒介类型
-->右上角创建媒体类型

--》【名称】设置成需要的名称   例如: qq_Email
--》【SMTP服务器】设置成    smtp.qq.com
--》【SMTP服务器端口】设置成 25
--》【SMTP HELO】设置成 qq.com
--》【SMTP电邮】设置成 自己的邮箱地址
--》【认证】选择 用户名和密码
--》【用户名称】设置成 自己的邮箱地址
--》【密码】可登录QQ邮箱页面,点击【设置】-->【账户】中的【生成授权码】,通过短信      获取授权码
--》【描述】可自定义


--》点击上方菜单栏【Message templates】
--》点击【添加】
--》【Message type】选择 问题,点击【更新】
--》点击 【添加】,并测试功能

2.zabbxi操作和设置_第16张图片

2.zabbxi操作和设置_第17张图片

##关联用户

--》左侧,user settings,profile
--》上面报警媒介
--》点击添加
--》类型      选择刚才创建的报警类型
--》收件人     写自己的邮箱地址
--》当启用时    选择启用的事件
--》严重性      选择需要的事件的严重性
--》点击添加后点击更新

2.zabbxi操作和设置_第18张图片

##报警媒介关联触发器

--》左侧,配置,动作,Trigger actions
--》点击名称进行修改
--》点击条件中的添加
--》类型为触发器
--》操作者为等于
--》触发器选择需要的触发器
--》最后点击添加和更新

2.zabbxi操作和设置_第19张图片

自动注册和自动发现

自动发现(对于agent是被动模式)

  • zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。
  • 缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大
##关闭防火墙

systemctl disable --now firewalld
setenforce 0
##确保客户端上的  zabbix-agent  服务状态正常

systemctl is-active zabbix-agent.service 
active
在 Web 页面删除原有的客户端主机
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
##在服务端和客户端上配置 hosts 解析

vim /etc/hosts
192.168.242.66 zbx-server
192.168.242.67 zbx-agent01
192.168.242.68 zbx-agent02
##web界面配置自动发现

--》左侧,配置,自动发现
--》右上角创建自动发现规则
--》【名称】设置成        mynetwork
--》【IP范围】设置成     192.168.80.1-254
--》【更新间隔】设置成     10s
--》【检查】点击【添加】
      --》【检查类型】选择 Zabbix 客户端
      --》【端口范围】设置成 10050
      --》【键值】设置成 system.uname
--》【设备唯一性准则】选择    IP地址
--》【主机名称】选择         DNS名称
--》【可见的名称】选择        主机名称
--》勾选 【已启用】
--》点击 【添加】

2.zabbxi操作和设置_第20张图片

###开启发现动作

--》左侧配置,动作
--》发现动作
--》勾选 【Auto discovery. Linux servers.】,点击 【启用】

2.zabbxi操作和设置_第21张图片

自动注册(对于agent是主动模式)

  • zabbix agent2 会主动上报自己的信息,发给 zabbix server。
  • 缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix serve
vim /etc/zabbix/zabbix_agentd.conf

##190行

 HostnameItem=system.hostname
取消注释
##重启   zabbix-agent  服务

systemctl restart zabbix-agent2
###去除配置文件中的注释项和空白行

egrep -v "^#|^$" /etc/zabbix/zabbix_agent2.conf 


PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.80.20
ServerActive=192.168.80.20
Hostname=zbx-agent01
HostnameItem=system.hostname
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

###在web页面配置自动注册

--》左侧,配置,动作,自动注册动作
--》右上角创建动作
--》名称      Auto registration
--》点击条件中的    添加
	--》类型    主机名称
	--》操作者     包含
	--》值        zbx-agent
	--》添加


--》上面操作
--》点击【添加】,【操作类型】选择     添加主机,      点击 【Add】
--》点击【添加】,【操作类型】选择     添加到主机群组,
               【主机群组】选择 Linux servers,    点击 【Add】
--》点击【添加】,【操作类型】选择     与模板关联,
               【模板】搜索 Linux,选择 Linux by Zabbix agent,
                                                点击 【Add】
--》点击下方的【添加】

2.zabbxi操作和设置_第22张图片

2.zabbxi操作和设置_第23张图片

2.zabbxi操作和设置_第24张图片

##等待一段时间后,点击左边菜单栏【配置】中的【主机】刷新,即可刷新出自动发现的客户端主机
###在服务端查看 zabbix 日志

tail -f /var/log/zabbix_server.log

你可能感兴趣的:(10.分布式,excel)