2024第十二周

1、总结zabbix安装过程(选择课程演示版本)。

包安装

#Install Zabbix repository
[root@ubuntu2004 ~]#wget 
https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbixrelease_6.0-1+ubuntu20.04_all.deb
[root@ubuntu2004 ~]#dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb
[root@ubuntu2004 ~]#cat /etc/apt/sources.list.d/zabbix.list 
deb https://repo.zabbix.com/zabbix/6.0/ubuntu focal main
deb-src https://repo.zabbix.com/zabbix/6.0/ubuntu focal main
#加速,更新为国内源(可选)
[root@ubuntu2004 ~]#sed -i.bak 
's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' 
/etc/apt/sources.list.d/zabbix.list
[root@ubuntu2004 ~]#cat /etc/apt/sources.list.d/zabbix.list
deb https://mirrors.aliyun.com/zabbix/zabbix/6.0/ubuntu focal main
deb-src https://mirrors.aliyun.com/zabbix/zabbix/6.0/ubuntu focal main
[root@ubuntu2004 ~]#apt update
#安装Zabbix server,Web前端,agent2
[root@ubuntu2004 ~]#apt -y install zabbix-server-mysql zabbix-frontend-php 
zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2 zabbix-get
#安装nginx
[root@ubuntu2004 ~]#nginx -v
nginx version: nginx/1.18.0 (Ubuntu)
#安装php-fpm
[root@ubuntu2004 ~]#php-fpm7.4 -v
PHP 7.4.3 (fpm-fcgi) (built: May  6 2022 00:16:42)
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
   with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
#安装zabbix_agent2
[root@ubuntu2004 ~]#zabbix_agent2 -V
zabbix_agent2 (Zabbix) 6.0.5
.......
#创建初始数据库
[root@ubuntu2004 ~]#apt -y install mysql-server
[root@ubuntu2004 ~]#mysql
Server version: 8.0.29-0ubuntu0.20.04.3 (Ubuntu)
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by '123456';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
#导入初始架构和数据,系统将提示您输入新创建的密码。
[root@ubuntu2004 ~]#zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | 
mysql -uzabbix -p123456 zabbix
#验证数据库和表
[root@ubuntu2004 ~]#mysql -uzabbix -p123456 zabbix -e 'show tables;' |head
mysql: [Warning] Using a password on the command line interface can be insecure.
Tables_in_zabbix
acknowledges
actions
alerts
auditlog
autoreg_host
conditions
config
config_autoreg_tls
corr_condition
[root@ubuntu2004 ~]#mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
#为Zabbix server配置数据库               
[root@ubuntu2004 ~]#vim /etc/zabbix/zabbix_server.conf
DBPassword=123456
#确认数据库配置
[root@ubuntu2004 ~]#grep -E '^DB|DBHost=' /etc/zabbix/zabbix_server.conf
# DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
#为Zabbix前端配置PHP
[root@ubuntu2004 ~]#vim /etc/zabbix/nginx.conf
#取消下面两行的注释并修改
       listen          80;
       server_name     zabbix.wang.org;
#默认安装apache2和nginx冲突,禁用apache2
[root@ubuntu2004 ~]#systemctl disable --now apache2.service 
#重启服务
[root@ubuntu2004 ~]#systemctl restart zabbix-server zabbix-agent2 nginx php7.4-
fpm
[root@ubuntu2004 ~]#systemctl enable zabbix-server zabbix-agent2 nginx php7.4-fpm

2、总结 zabbix主动模式和被动模式简介及实现

主动模式和被动模式都是相对 zabbix agent 而言的

主动模式

​ 主动模式是由每个zabbix agent 打开本机的随机端口, 主动向 Zabbix Server (或者Zabbix Proxy)的10051端口发起tcp连接请求主动模式下必须在zabbix agent配置文件中指定zabbix server的IP或者主机名(必须可以被解析为IP地址)在连接到zabbix server之前zabbix agent是不知道自己要采集那些数据以及间隔多久采集一次数据的,然后在连接到zabbix server以后获取到自己的监控项和数据采集间隔周期时间,之后再根据监控项采集数据并返回给zabbix server。

被动模式

​ 被动模式是指 zabbix agent 被动的接受zabbix server(或者Zabbix Proxy)周期性发送过来的数据收集指令,此为默认的工作方式。在被动模式之下,zabbix server会根据主机关联的模板中的监控项和数据采集间隔时间,周期性的打开随机端口并向zabbix agent服务器的10050端口发起tcp连接,然后发送获取监控项数据的指令,即zabbix server发送什么指令那么zabbix agent就收集什么数据,zabbix server什么时候发送指令,zabbix agent就什么时候采集,zabbix server不发送指令,zabbix agent就一直不响应,所以zabbix agent也不用关心其监控项和数据采集周期间隔时间。

实现

1、在 Zabbix Agent 配置主机模式相关配置

[root@centos8 ~]#grep '^[^#]' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.0.100 #被动模式指向 Zabbix Server的IP或FQDN
ServerActive=10.0.0.100         #主动模式指向 Zabbix Server的IP或FQDN
Hostname=10.0.0.104             #当前主机的IP,此项必须和Zabbix Server中设置的主机名称相Timeout=30                      #建议修改
Include=/etc/zabbix/zabbix_agentd.d/*.conf
[root@centos8 ~]#systemctl restart zabbix-agent.service

2、在 Zabbix Server 创建配置有主动模式监控项的模板

3、关联主动模板至支持主动模式的 Agent 主机

3、总结 zabbix proxy主动及被动案例

3.1 安装zabbix proxy

3.1.1 二进制包安装

[root@ubuntu2204 ~]#wget 
https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbixrelease_6.0-4%2Bubuntu22.04_all.deb
[root@ubuntu2204 ~]#dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
[root@ubuntu2204 ~]#sed -i.bak 
's/repo.zabbix.com/mirrors.tuna.tsinghua.edu.cn\/zabbix/' 
/etc/apt/sources.list.d/zabbix.list
[root@ubuntu2204 ~]#apt update
[root@ubuntu2204 ~]#apt -y install zabbix-proxy-mysql zabbix-sql-scripts

3.2 准备数据库

3.2.1 为主动模式的 Proxy 准备独立的数据库

[root@zabbix-proxy-active ~]#apt -y install mysql-server
[root@zabbix-proxy-active ~]#mysql
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.17   |
+-----------+
1 row in set (0.00 sec)
mysql> create database zabbix_proxy_active character set utf8 collate utf8_bin;
mysql> create user proxy@'localhost' identified by '123456';
mysql> grant all on zabbix_proxy_active.* to proxy@'localhost' ;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit; #从Proxy主机导入和zabbix Server不同的数据库和表
[root@zabbix-proxy-active ~]#yum -y install mysql
[root@zabbix-proxy-active ~]#apt -y install mysql
#包安装的路径
[root@zabbix-proxy-active ~]#zcat /usr/share/doc/zabbix-proxymysql/schema.sql.gz | mysql -uproxy -p123456 -h10.0.0.101 zabbix_proxy_active
[root@ubuntu2204 ~]#mysql
mysql> set global log_bin_trust_function_creators = 0;
mysql> exit

3.2.2 为被动模式的 proxy 准备独立的数据库

[root@zabbix-proxy-passive ~]#apt -y install mysql-server
[root@zabbix-proxy-passive ~]#mysql
mysql> create database zabbix_proxy_passive character set utf8 collate utf8_bin;
mysql> grant all on zabbix_proxy_passive.* to proxy@'10.0.0.%' identified by 
'123456' ;
#创建被动模式使用的数据库和表
[root@zabbix-proxy-passive zabbix-5.0.13]#pwd
/root/zabbix-5.0.13
#源码编译的路径
[root@zabbix-proxy-passive zabbix-5.0.13]#mysql -uproxy -p123456 
zabbix_proxy_passive < database/mysql/schema.sql

3.3 主动模式配置

3,.3.1 修改proxy配置文件

[root@zabbix-proxy-active ~]#grep '^[^#]' /etc/zabbix/zabbix_proxy.conf 
ProxyMode=0                         #主动模式为0,被动模式为1,默认为0即主动模式
Server=10.0.0.100                   #指向Zabbix Server
Hostname=zabbix-proxy-active        #此名称必须和后面Web管理页的agent代理程序名称相同
DBHost=localhost                    #MySQL服务器地址
DBName=zabbix_proxy_active          #MySQL数据库名
DBUser=proxy                        #连接MySQL的用户
DBPassword=123456                   #连接MySQL的用户密码
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
DebugLevel=4                        #指定日志级别,默认为3,值越大日志越详细
EnableRemoteCommands=1              #开启远程命令,允许server到proxy上执行命令,在故障
自愈时使用
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
ProxyLocalBuffer=360             #当proxy将数据发送给server后将数据仍在本地保存多少时间,
默认不保留
ProxyOfflineBuffer=720           #当proxy和server无法连接时将数据在本地保存多长时间,默认
1小时
HeartbeatFrequency=60            #server端用来检测proxy可用性的心跳信息的时间间隔,被动模
式无效
ConfigFrequency=60               #每间隔多少时间到server获取监控项,在agent更新端监控
项,只在主动模式有效,默认3600s
DataSenderFrequency=60           #数据发送的间隔时间,只在主动模式有效,默认1s,建议加长
JavaGateway=10.0.0.101           #指向JAVA gateway主机
StartJavaPollers=10              #指定开启的进程数,默认为0,即不开启
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
CacheSize=8M                      #当主机数量很多时,会将获取的监控项存放在缓存中,生产中
设置2G
StartDBSyncers=4                  #启动多少个线程和数据库连接
HistoryCacheSize=16M              #保存agent发送过来的监控数据的内存空间大小,生产中设置
2G 
HistoryIndexCacheSize=4M          #历史数据的索引
Timeout=30                        #获取数据的最长等待时间
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000               #慢查询时长
#默认zabbix-proxy.service不自动启动,设置服务开机自启
[root@zabbix-proxy-active ~]#systemctl enable --now zabbix-proxy.service

3.3.2 修改Zabbix Agent配置文件为主动模式的 Zabbix Proxy

[root@centos8 ~]#vim /apps/zabbix_agent/etc/zabbix_agentd.conf
[root@centos8 ~]#grep '^[^#]' /apps/zabbix_agent/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=10.0.0.100,10.0.0.101         #指向Zabbix Server(可选)和Zabbix Proxy(必
选)
ServerActive=10.0.0.101 #指向Zabbix Proxy
Hostname=10.0.0.103 
[root@centos8 ~]#systemctl restart zabbix-agent.service

3.3.3 在Zabbix Server上添加代理Proxies

3.3.4 在Zabbix Server上配置Zabbix Agent使用主动代理

3.4 被动模式配置

# vim /apps/zabbix_proxy/etc/zabbix_proxy.conf
ProxyMode=1 #0为主动,1为被动,此为默认
server=10.0.0.100 #zabbix server服务器的地址
Hostname=zabbix-proxy-passive-wang      #代理服务器名称,被动模式不要求和后面Web管理页的
agent代理程序名称相同
DBHost=10.0.0.101   #数据库服务器地址
DBName=zabbix_proxy_passive #数据库库名称
DBUser=proxy #连接数据库的用户名称
DBPassword=123456 #数据库用户密码
DBPort=3306 #数据库端口
ListenPort=10051 #zabbix proxy监听端口
LogFile=/tmp/zabbix_proxy.log
Enab1eRemoteCommands=1 #允许zabbix server执行远程命令
ProxyLocalBuffer=720#已经提交到zabbix server的数据保留时间
ProxyofflineBuffer=720 #未提交到zabbix server的时间保留时间
ConfigFrequency=5 #间隔多少秒从zabbix server获取监控项信息,此横在被动模式无效
startPo1lers=20 #启动的数据采集器数量
javaGatewayPort=10052 #Java gateway服务端口
startJavaPollers=20 #启动多少个线程采集数据
cachesize=2G #保存监控项而占用的最大内存
Historycachesize=2G #保存监控历史数据占用的最大内存
HistoryIndexcachesize=128M #历史索引缓存的大小
Timeout=30 #监控项超时时间,单位为秒
LogslowQueries=3000 #毫秒,多久的数据库查询会被记录到日志
HeartbeatFrequency=60 #心跳间隔检测时间,默认60秒,范围0-3600秒,被动模式不使用
DatasenderFrequency=5 #数据发送时间间隔,默认为1秒,范围为1-3600秒,被动模式不使用
JavaGateway=10.0.0.102 #java gateway服务器地址,当需要监控java的时候必须配置否则监控不到数据

3.4.1 修改proxy配置文件

[root@zabbix-proxy-passive ~]#grep '^[^#]' 
/apps/zabbix_proxy/etc/zabbix_proxy.conf
ProxyMode=1                          #被动模式为1
Server=10.0.0.100                    #指向zabbix server的地址
Hostname=zabbix-proxy-passvie-wang
LogFile=/tmp/zabbix_proxy.log 
DBHost=localhost                    #指定MySQL的地址
DBName=zabbix_proxy_passive          #指定MySQL数据库名称
DBUser=proxy                         #指定MySQL的用户
DBPassword=123456                    #指定MySQL的用户密码
ProxyLocalBuffer=360
ProxyOfflineBuffer=720
JavaGateway=10.0.0.102
StartJavaPollers=10
CacheSize=8M
StartDBSyncers=4
HistoryCacheSize=16M
HistoryIndexCacheSize=4M
Timeout=30
LogSlowQueries=3000
[root@zabbix-proxy-passive zabbix-5.0.14]#grep -Ev '^$|#' 
/apps/zabbix_proxy/etc/zabbix_proxy.conf
ProxyMode=1
Server=10.0.0.100
Hostname=Zabbix proxy passive
LogFile=/tmp/zabbix_proxy.log
DBName=zabbix_proxy_passive
DBUser=proxy
DBPassword=123456
HeartbeatFrequency=10
ConfigFrequency=10
DataSenderFrequency=1
Timeout=4
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
#默认zabbix-proxy.service不自动启动,设置服务开机自启
[root@zabbix-proxy-passive ~]#systemctl enable --now zabbix-proxy.service

3.4.2 在Zabbix Server上添加代理Proxies

3.4.3 在Zabbix Server上配置Zabbix Agent使用被动代理

3.4.4 修改Zabbix Agent配置文件为被动模式的Zabbix Proxy

[root@centos8 ~]#grep '^[^#]' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.0.100,10.0.0.102#必须指向Proxy代理地址,否则Proxy无法监控,Zabbix Server地
址则是可选项
#ServerActive=10.0.0.100 #注释此行
Hostname=10.0.0.104
Timeout=30
Include=/etc/zabbix/zabbix_agentd.d/*.conf
[root@centos8 ~]#systemctl restart zabbix-agent.service

4、总结自定义监控,监控linux, nginx, 并基于短信/email报警。

4.1 监控Linux主机

4.1.1 添加主机

在这里插入图片描述

4.1.2 关联内置模版

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2 监控nginx

4.2.1 自定义监控项监控 nginx状态页

[root@rocky8 ~]#vim /etc/nginx/conf.d/default.conf
# 加入
location /nginx_status {
   stub_status;
   access_log off;
   allow 127.0.0.1;
   deny all;
}
# 重启服务
[root@rocky8 ~]#systemctl restart nginx

4.2.2 配置agent

[root@rocky8 ~]#vim /etc/zabbix/zabbix_agentd.d/nginx_status.sh 
#!/bin/bash
# Description:zabbix监控nginx性能以及进程状态
HOST="127.0.0.1"
PORT="80"
URL=nginx_status
# 检测nginx进程是否存在
case $1 in
ping)
   pidof nginx | wc -l
   ;;
# 检测nginx性能
active)
    curl -s "http://$HOST:$PORT/$URL/" | awk 'NR==1{print $NF}'
   ;;
    
reading)
    curl -s "http://$HOST:$PORT/$URL/" | awk 'NR==4{print $2}'
   ;;
writing)
    curl -s "http://$HOST:$PORT/$URL/" | awk 'NR==4{print $4}'
   ;;
   
waiting)
    curl -s "http://$HOST:$PORT/$URL/" | awk 'NR==4{print $6}'
   ;;
accepts)
    curl -s "http://$HOST:$PORT/$URL/" |awk 'NR==3{print $1}'
   ;;
handled)
    curl -s "http://$HOST:$PORT/$URL/" | awk 'NR==3{print $2}'
   ;;
    
requests)
    curl -s "http://$HOST:$PORT/nginx_status/" | awk 'NR==3{print $3}'
 ;;
    
*)
    echo "Usage `basename $0` {ping | active | reading | writing | waiting | 
accepts | handled | requests }"
esac
[root@rocky8 ~]#chmod +x /etc/zabbix/zabbix_agent2.d/nginx_status.sh
[root@rocky8 ~]#/etc/zabbix/zabbix_agent2.d/nginx_status.sh active
# 成功
1#添加监控配置
[root@rocky8 ~]#vim /etc/zabbix/zabbix_agent2.d/nginx.conf
UserParameter=nginx.status[*],/etc/zabbix/zabbix_agent2.d/nginx_status.sh $1
#agent测试
[root@rocky8 ~]#zabbix_agent2 -t nginx.status[ping]
nginx.status[ping]                           [s|1]
[root@rocky8 ~]#zabbix_agent2 -t nginx.status[active]
nginx.status[active]                         [s|1]
[root@rocky8 ~]#systemctl restart zabbix-agent2.service 
#服务器测试
[root@zabbix-server ~]#zabbix_get -s 10.0.0.8 -k nginx.status[ping]
1
[root@zabbix-server ~]#zabbix_get -s 10.0.0.8 -k nginx.status[active]
1

4.3 email报警

4.3.1 邮箱开启SMTP功能

在邮箱上开启SMTP功能,利用此邮箱实现发送报警邮件

4.3.2 QQ邮箱开启邮件通知功能

在这里插入图片描述
在这里插入图片描述

获取授权码
在这里插入图片描述

4.3.3 创建报警媒介类型实现发信人功能

管理–>报警媒介类型–>创建报警媒介类型
在这里插入图片描述

4.3.4 QQ邮箱配置

在这里插入图片描述
添加消息模板用于发送信息
在这里插入图片描述

#可以修改两个消息模板
# 问题
主题: 告警: {EVENT.NAME}
告警主机:{HOST.NAME1}
告警服务: {ITEM.NAME1}
告警Key1: {ITEM.KEY1}{ITEM.VALUE1}
告警Key2: {ITEM.KEY2}{ITEM.VALUE2}
严重级别: {TRIGGER.SEVERITY}
# 恢复 Problem Recovery
主题: 恢复: {EVENT.DURATION}: {EVENT.NAME}
恢复主机:{HOST.NAME1}
恢复服务: {ITEM.NAME1}
恢复Key1:{ITEM.KEY1}{ITEM.VALUE1}
恢复Key2: {ITEM.KEY2}{ITEM.VALUE2}

创建完成后的界面
在这里插入图片描述
在这里插入图片描述

5、完成部署zabbix agent脚本,可适配rocky和ubuntu系统。

#!/bin/bash
ZABBIX_VER=5.0.13
FILE=zabbix-${ZABBIX_VER}.tar.gz
INSTALL_DIR=/apps/zabbix_agent
SERVER=10.0.0.100
HOST=`hostname -I`
. /etc/os-release
color () {
    RES_COL=60
    MOVE_TO_COL="echo -en \\033[${RES_COL}G"
    SETCOLOR_SUCCESS="echo -en \\033[1;32m"
    SETCOLOR_FAILURE="echo -en \\033[1;31m"
    SETCOLOR_WARNING="echo -en \\033[1;33m"
    SETCOLOR_NORMAL="echo -en \E[0m"
    echo -n "$1" && $MOVE_TO_COL
    echo -n "["
    if [ $2 = "success" -o $2 = "0" ] ;then
        ${SETCOLOR_SUCCESS}
        echo -n $" OK "    
    elif [ $2 = "failure" -o $2 = "1" ] ;then 
        ${SETCOLOR_FAILURE}
        echo -n $"FAILED"
    else
        ${SETCOLOR_WARNING}
        echo -n $"WARNING"
         fi
    ${SETCOLOR_NORMAL}
    echo -n "]"
    echo
}
check(){
    wget
https://cdn.zabbix.com/zabbix/sources/stable/${ZABBIX_VER%.*}/zabbix-$ZABBIX_VER
.tar.gz
 [ -e ${FILE} ] || { color "$FILE 文件不存在,请检查" 1 ; exit 1; }
}
prepare (){
    if [ $ID = "rocky" $ID = "rocky" ];then 
   yum -y install gcc make pcre-devel || { color "zabbix agent 相关包安装失
败,请检查" 1 ;exit; }
    else
 apt -y install gcc make || { color "zabbix agent 相关包安装失败,请检查" 1
;exit; }
 fi
 id zabbix &> /dev/null || useradd -r zabbix
}
install() {
 tar xf $FILE
 cd zabbix-$ZABBIX_VER
 ./configure --prefix=${INSTALL_DIR} --enable-agent
 make && make install
}
config () {
    sed -i.bak -e "s/Server=127.0.0.1/Server=$SERVER/"  -e "s/Hostname=Zabbix 
server/Hostname=$HOST/" ${INSTALL_DIR}/etc/zabbix_agentd.conf
    echo 'PATH=${INSTALL_DIR}/bin/:${INSTALL_DIR}/sbin/:$PATH' > 
/etc/profile.d/zabbix_agent.sh
}
service (){
 cat > /lib/systemd/system/zabbix-agent.service <<EOF
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=${INSTALL_DIR}/sbin/zabbix_agentd -c
${INSTALL_DIR}/etc/zabbix_agentd.conf 
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
EOF
 systemctl daemon-reload 
 systemctl enable --now zabbix-agent.service 
   systemctl is-active zabbix-agent.service && color "Zabbix Agent 安装完成并启动" 0}
check
prepare
install
config
service

6、完成命令行脚本,可以基于zabbix api添加zabbix agent到zabbix web。

#!/bin/bash
ZABBIX_SERVER=10.0.0.100
TOKEN=$(./zabbix-api-token.sh| awk -F'"' '{print $8}')
HOST=10.0.0.106
curl -s -XPOST -H "Content-Type: application/json-rpc" -d ' {
"jsonrpc": "2.0",
"method": "host.create",
"params": {
    "host": "'web-api-$HOST'",   #创建主机名称
    "name": "'web-api-$HOST'",    #可见的名称
    "interfaces": [
       {
        "type": 1,   #类型为1表示agent,2是SNMP,3是IPMI,4是JMX
        "main": 1,   #主要接口
        "useip": 1,   #0是使用DNS,1是使用IP地址
        "ip": "'$HOST'",   #添加的zabbix agent的IP地址
        "dns": "",
        "port": "10050"     #agent使用的端口
       }
   ],
    "groups": [ 
       {
            "groupid": "2"    #添加到的组的ID
       }
   ],
    "templates": [ 
       {
            "templateid": "10001"  #关联的模板的ID
       } 
   ]
 },
"id": 1,
"auth": "'$TOKEN'"
}' http://${ZABBIX_SERVER}/zabbix/api_jsonrpc.php | python3 -m json.tool
[root@zabbix-server ~]#./zabbix-api-addhost.sh
{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10273"
           ]
   },
    "id": 1 }
[root@zabbix-server ~]#./zabbix-api-gethostlist.sh 
{
    "jsonrpc": "2.0",
    "result": [
       {
            "hostid": "10084",
            "host": "Zabbix server"
       },
       {
            "hostid": "10270",
            "host": "10.0.0.105"
       },
       {
            "hostid": "10273",
            "host": "10.0.0.106"
       }
   ],
    "id": 1 }

7、基于课程演示,构建一个漂亮的granfana大盘。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值