1 zabbix的基本使用

1.1 添加主机(手动)

1)点击配置—点击主机—点击创建主机—根据提示填写主机名称,选择群组,填写agent代理程序的接口(被监控主机ip)—点击添加

zabbix zcp认证 zabbix中文使用手册4.0_vim


zabbix zcp认证 zabbix中文使用手册4.0_vim_02


zabbix zcp认证 zabbix中文使用手册4.0_zabbix zcp认证_03

1.2 关联模板(手动)

流程:点击你刚刚创建的主机—>点击模板—>点击选择—>找到Template OS Linux 打钩,点击选择—>点击添加—>点击更新—>在最上面的搜索栏搜索你当前主机就会看到监控项及触发器不在是0了

注:手动添加的主机是默认没有关联模板的

zabbix zcp认证 zabbix中文使用手册4.0_zabbix zcp认证_04


zabbix zcp认证 zabbix中文使用手册4.0_zabbix zcp认证_05


zabbix zcp认证 zabbix中文使用手册4.0_zabbix的基本使用_06


zabbix zcp认证 zabbix中文使用手册4.0_json_07

1.3 配置客户端

注:在服务器上添加主机成功了只是第一步,还得在你被监控主机是上安装zabbix-agent了
$ yum install zabbix-agent -y                        #安装zabbix客户端
$ vim  /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0   #设置日志切割值,单位为M
Server=10.28.88.204 #服务器主机ip,也可以是域名
Hostname=hostname 
Include=/etc/zabbix/zabbix_agentd.d/
$ systemctl restart zabbix-agent  #重启zabbix-agent

#开启防火墙的同学注意开放10050端口(在7里面,得用firewalld命令设置防火墙,iptables仅用于查询防火墙规则了)
$ firewall-cmd --add-port 10050/tcp --zone=public --permanent		#开放10050端口
Success
$  firewall-cmd  --reload								#重新加载命令或者配置文件
success
$ firewall-cmd  --list-port							#端口查询	
10050/tcp

#设置完客户端之后,回到zabbix网页版,查看当前主机信息,如果可用性的 zbx 为绿色代表联机成功,那么就可以查询具体项目监控信息

1.4 查询主机监控效果

流程:在最上面的查询框输入你要查询的 ip 回车 ——> 然后点击最新数据 ——>选择你要查询的具体项目信息——>点击图形——>选择您要的查询时间—然后就会显示一个效果图

zabbix zcp认证 zabbix中文使用手册4.0_客户端_08


zabbix zcp认证 zabbix中文使用手册4.0_zabbix的基本使用_09


zabbix zcp认证 zabbix中文使用手册4.0_客户端_10

1.5 配置报警

现在常用的报警是邮件报警及钉钉报警(无论配置哪个报警之后都得配置动作,动作配置一次即可实现通用,前提是发送的需求一样)

1.51 创建报警用户

流程:点击管理—>点击用户—>点击创建用户—>然后根据提示填写用户信息,报警媒介及权限

zabbix zcp认证 zabbix中文使用手册4.0_vim_11


zabbix zcp认证 zabbix中文使用手册4.0_json_12


注:在4选择语言那里,默认是英文,你可以选择中文

1.52 创建报警媒介

流程:点击刚刚创建的那个用户—>点击报警媒介—>点击添加—>根据提示信息添加—>添加完成后点击更新

zabbix zcp认证 zabbix中文使用手册4.0_json_13


zabbix zcp认证 zabbix中文使用手册4.0_vim_14


zabbix zcp认证 zabbix中文使用手册4.0_vim_15

1.53 邮件报警(做完此步可以直接跳到1.55动作那里)

##zabbix server 安装mailx
$ yum install mailx -y
$ vim /etc/mail.rc
set from=个人邮箱账号
set smtp=smtp.163.com
set smtp-auth-user=个人邮箱账号
set smtp-auth-password=客户端授权密码
set smtp-auth=login
$  echo "zabbix test mail" |mailx -s "zabbix" ********@163.com  #测试邮箱

# 添加邮件发送脚本
$ vim /opt/app/zabbix/share/zabbix/alertscripts/sendmail.sh 
messages=$(echo $3 | tr '\r\n' '\n')
subject=$(echo $2 | tr '\r\n' '\n')
echo "${messages}" | mailx -s "${subject}" $1 >>/tmp/sendmail.log 2>&1

#授权
$ chown zabbix.zabbix /opt/app/zabbix/share/zabbix/alertscripts/sendmail.sh  
$ chmod +x /opt/app/zabbix/share/zabbix/alertscripts/sendmail.sh
$ chmod 777  /tmp/sendmail.log

#指定脚本放置目录,不然脚本运行不了
$ vim /opt/app/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/opt/app/zabbix/share/zabbix/alertscripts/
$ /opt/app/zabbix/share/zabbix/alertscripts/sendmail.sh  你的邮箱  zabbix  #测试

#zabbix页面操作

(报警媒介设置)流程:点击管理—>点击报警媒介类型—>点击创建媒体类型—>然后根据如下信息填写

zabbix zcp认证 zabbix中文使用手册4.0_客户端_16


zabbix zcp认证 zabbix中文使用手册4.0_json_17


脚本名称:就是你刚刚在server端创建的那个脚本

3个参数(是zabbix内置宏):

{ALERT.SENDTO} #定义接收人

{ALERT.SUBJECT} #定义消息标题

{ALERT.MESSAGE} #定义消息内容

#上面的部署完毕你可以直接跳到配置动作那个章节了

1.54 钉钉报警

1.首先在钉钉建立测试群组,添加钉钉群机器人,获取webhook地址
2.添加钉钉报警脚本
vim /opt/app/zabbix/share/zabbix/alertscripts/ding.py

#!/usr/bin/python
# -*- coding: utf-8 -*-

import requests
import json
import sys
import os
import ConfigParser
headers = {'Content-Type': 'application/json;charset=utf-8'}
content={}
def msg(text,call,api_url,All=False):
    json_text= {
     "msgtype": "text",
        "text": {
            "content": text
        },
        "at": {
            "atMobiles": call,
            "isAtAll": All
        }
    }
    print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
    textemp,text = sys.argv[1],''
    l1=textemp.split('\n')
    for i in l1:
        if i:
            text=text+i+'\n'
    #text = '{_text} ' .format(_text=text)
    send_to = sys.argv[2]
    config = ConfigParser.ConfigParser()
    config.read('/opt/app/zabbix/etc/alert.conf')
    if send_to in config.sections():
        call = config.get(send_to,'user').split(' ')
        api_url = config.get(send_to,'url')
        All = config.get(send_to,'All')
    else:
        print('the group is not existed')
    msg(text,call,api_url,All)

3.创建/opt/app/zabbix/etc/alert.conf 文件
[test]
user = 钉钉用户手机号码
url= 获取的webhook地址
All = True

4.测试
$ chmod +x /opt/app/zabbix/share/zabbix/alertscripts/ding.py
$ python /opt/app/zabbix/share/zabbix/alertscripts/ding.py “监控报警测试” test

报错:ImportError: No module named requests

解决:yum install python-requests -y

zabbix zcp认证 zabbix中文使用手册4.0_客户端_18


5.返回zabbix server web界面 —>点击管理 —>点击报警媒介—>点击创建报警媒介—>

1.55 配置动作

注:设置报警后的触发动作才能进行报警

流程:点击配置—点击动作—点击创建动作(根据提示创建)—>在动作,操作,恢复操作根据下面例子填写

zabbix zcp认证 zabbix中文使用手册4.0_zabbix zcp认证_19


#创建动作 填写触发动作名称—>填写触发的条件—>点击添加(下面是个示例)

zabbix zcp认证 zabbix中文使用手册4.0_zabbix的基本使用_20


#定义告警操作 填写下列信息

【故障】 {HOST.CONN}: {TRIGGER.NAME}

告警主机:{HOSTNAME1} {HOST.IP}

告警主题:{TRIGGER.NAME}

告警级别:{TRIGGER.SEVERITY}

告警时间:{EVENT.DATE} {EVENT.TIME} 持续时间: {EVENT.AGE}

告警详情: {ITEM.NAME1} ({ITEM.KEY1}): {ITEM.VALUE1}

当前状态: {ITEM.LASTVALUE}

zabbix zcp认证 zabbix中文使用手册4.0_json_21


zabbix zcp认证 zabbix中文使用手册4.0_zabbix的基本使用_22


#恢复操作 根据如下内容填写

恢复 {HOST.CONN}: {TRIGGER.NAME}

【恢复】:{HOSTNAME1} {TRIGGER.NAME}

发生时间:{EVENT.DATE} {EVENT.TIME}

恢复时间: {TIME} 持续时间: {EVENT.AGE}

恢复详情: {ITEM.NAME1} ({ITEM.KEY1}): {ITEM.VALUE1}

当前状态: {TRIGGER.STATUS}: {ITEM.LASTVALUE}

zabbix zcp认证 zabbix中文使用手册4.0_vim_23


zabbix zcp认证 zabbix中文使用手册4.0_zabbix zcp认证_24


#当动作,操作,恢复操作都添加的后,点击添加即可,然后出现最终的操作项

zabbix zcp认证 zabbix中文使用手册4.0_json_25


测试:看它恢复后有没有报警,

zabbix zcp认证 zabbix中文使用手册4.0_客户端_26


$ systemctl restart zabbix-agent #测试机启动了agent客户端 #我的是发送成功了

zabbix zcp认证 zabbix中文使用手册4.0_vim_27