Zabbix5.2监控安装和配置

目录

    • 官网
    • Agent端部署安装
        • Centos7-zabbix_agent配置
        • Win-zabbix_agent配置
    • Server端部署docker-compose.yml
    • 基础配置
        • 进入Web端首页
        • 更改语言并update
        • 填写主机ip端口信息
        • 给主机添加相应模板(以linux为例)
        • 填写邮箱信息
        • 登录企业邮箱生成密码
        • 创建动作

  • 官网

    官方文档
  • Agent端部署安装

  • Centos7-zabbix_agent配置

(需安装包,下面是官网下载的zabbix5.2rpm包)

  • zabbix-agent-5.2.0-1.el7.x86_64.rpm
  • 官网离线zip包下载链接
#在/data/projects/下生成zabbix目录并将上面的rpm附件包传输到此目录
sudo mkdir -p /data/zabbix
sudo mv zabbix-agent-5.2.0-1.el7.x86_64.rpm /data/zabbix/
cd /data/zabbix
#cd /data/projects/zabbix
#rpm安装
sudo rpm -i zabbix-agent-5.2.0-1.el7.x86_64.rpm

#以上是离线RPM安装包步骤,用yum安装可参考以下
官网在线安装链接如下
https://www.zabbix.com/download?zabbix=5.2&os_distribution=centos&os_version=7&db=&ws=

#编辑conf文件配置,修改以下三行
sudo vim /etc/zabbix/zabbix_agentd.conf
Server=x.x.x.x    #被动模式,ZABBIX服务器IP地址
ServerActive=x.x.x.x    #主动模式,ZABBIX服务器IP地址
Hostname=x.x.x.x     #ZABBIX-agent本机主机名
#启动zabbix-agent
[root@agent ~]# sudo systemctl restart zabbix-agent
[root@agent ~]# sudo systemctl enable zabbix-agent
  • Win-zabbix_agent配置

在链接下载windows版本的agent包

#解压到C盘并重命名为zabbix_agent
#修改C:\zabbix_agent\conf\zabbix_agentd.conf的配置信息
Server=x.x.x.x    #被动模式,ZABBIX服务器IP地址
ServerActive=x.x.x.x    #主动模式,ZABBIX服务器IP地址
Hostname=x.x.x.x     #ZABBIX-agent本机主机名
#安装命令
C:\zabbix_agent\bin\zabbix_agentd.exe -i -c C:\zabbix_agent\conf\zabbix_agentd.conf
#启动命令
C:\zabbix_agent\bin\zabbix_agentd.exe -s -c C:\zabbix_agent\conf\zabbix_agentd.conf
#下面为关闭命令,需要时再用
#C:\zabbix_agent\bin\zabbix_agentd.exe -x
#查看开机自启动
services.msc

Server端部署docker-compose.yml

此步骤需要提前安装docker及docker-compose,然后运行此docker-compos脚本.将以下脚本编辑成docker-compose.yml文件后,在此文件的同级目录运行docker-compose up -d命令启动zabbix-server.

version: '2'
services:
  mysql-zabbix:
    container_name: mysql-zabbix
    image: mysql:8.0
    environment:
         - "MYSQL_DATABASE=zabbix"
         - "MYSQL_USER=zabbix"
         - "MYSQL_PASSWORD=zabbixpassword"
         - "MYSQL_ROOT_PASSWORD=rootpassword"
    command: [
            '--character-set-server=utf8',
            '--collation-server=utf8_bin',
            '--default-authentication-plugin=mysql_native_password'
            ]
    volumes:
        - ./mysql/data:/var/lib/mysql
        - "/etc/localtime:/etc/localtime:ro"

  zabbix-java-gateway:
    container_name: zabbix-java-gateway
    image:  zabbix/zabbix-java-gateway:latest
    restart: always

  zabbix-server-mysql:
    container_name: zabbix-server-mysql
    image: zabbix/zabbix-server-mysql:latest 
    restart: always
    environment:
        - "DB_SERVER_HOST=mysql-zabbix"
        - "MYSQL_DATABASE=zabbix"
        - "MYSQL_USER=zabbix"
        - "MYSQL_PASSWORD=zabbixpassword"
        - "MYSQL_ROOT_PASSWORD=rootpassword"
        - "ZBX_JAVAGATEWAY=zabbix-java-gateway"
    ports:
        - 10051:10051
    links:
        - mysql-zabbix:mysql
        - zabbix-java-gateway:zabbix-java-gateway

  zabbix-web-nginx-mysql:
    container_name: zabbix-web-nginx-mysql
    image: zabbix/zabbix-web-nginx-mysql:latest
    restart: always
    environment:
        - "DB_SERVER_HOST=mysql-zabbix"
        - "MYSQL_DATABASE=zabbix"
        - "MYSQL_USER=zabbix"
        - "MYSQL_PASSWORD=zabbixpassword"
        - "MYSQL_ROOT_PASSWORD=rootpassword"
#       - "PHP_TZ=Asia/Shanghai"
    volumes:
        - "/etc/localtime:/etc/localtime:ro"
    ports:
        - 6380:8080
    links:
        - mysql-zabbix:mysql
        - zabbix-server-mysql:zabbix-server

基础配置

进入Web端首页

地址:ServerIP:6380

账号:Admin

密码:zabbix

Zabbix5.2监控安装和配置_第1张图片

更改语言并update

Zabbix5.2监控安装和配置_第2张图片

Zabbix5.2监控安装和配置_第3张图片

  • 将模板链接到主机群组

(以后只要将主机添加到模板所链接的主机群组,就可以实现分组配置)

搜索自己想要链接的模板

Zabbix5.2监控安装和配置_第4张图片

模板链接主机群组

Zabbix5.2监控安装和配置_第5张图片

  • 添加主机

Zabbix5.2监控安装和配置_第6张图片

填写主机ip端口信息

Zabbix5.2监控安装和配置_第7张图片

给主机添加相应模板(以linux为例)

Zabbix5.2监控安装和配置_第8张图片

  • 邮箱报警

Zabbix5.2监控安装和配置_第9张图片

填写邮箱信息

(腾讯企业邮箱参考文档)此步骤填写的是邮箱的发送方,通过腾讯企业邮箱提供的smtp服务为我们发送制定的邮箱内容。

Zabbix5.2监控安装和配置_第10张图片

登录企业邮箱生成密码

Zabbix5.2监控安装和配置_第11张图片

创建动作

Zabbix5.2监控安装和配置_第12张图片

Zabbix5.2监控安装和配置_第13张图片

Zabbix5.2监控安装和配置_第14张图片

Zabbix5.2监控安装和配置_第15张图片

恢复操作亦如上,以下为消息模板

主题:【项目名称】【故障】服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障
消息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}
事件ID:{EVENT.ID}
---------
主题:【项目名称】【恢复】 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
消息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:
事件ID:{EVENT.ID}

注意:上图添加用户群组或者用户的时候,需要给指定用户添加报警媒介并指定类型为之前添加的报警媒介类型
Zabbix5.2监控安装和配置_第16张图片

Zabbix5.2监控安装和配置_第17张图片

当出现异常,就会在邮箱收到类似截图

Zabbix5.2监控安装和配置_第18张图片

  • 钉钉报警

新建钉钉群,添加机器人获取webhook

Zabbix5.2监控安装和配置_第19张图片

Zabbix5.2监控安装和配置_第20张图片

Zabbix5.2监控安装和配置_第21张图片

Zabbix5.2监控安装和配置_第22张图片

添加完成保存好以上的webhook

  • 编辑zabbix–server-mysql容器内/usr/lib/zabbix/alertscripts/dingding.py脚本
#!/usr/bin/python2.7
# -*- coding: utf-8 -*-
# Author: liusy
import requests
import json
import sys
# 告警群
url = '这里填写钉钉群的机器人webhook链接'
def send_msg(msg):
    program = {"msgtype": "text", "text": {"content": msg}, }
    headers = {'Content-Type': 'application/json'}
    try:
        f = requests.post(url, data=json.dumps(program), headers=headers)
    except Exception as e:
        return False
    return f.status_code
def main():
    msg = sys.argv[1]
    send_msg(msg)

if __name__ == '__main__':
    main()
  • 监控端口号
  • 添加监控项

Zabbix5.2监控安装和配置_第23张图片

  • 添加触发器

Zabbix5.2监控安装和配置_第24张图片

注意:当需要常更新的端口,在一两分钟内能正常恢复的情况下不报警,则可以更改表达式max(1m)为sum(2m)

  • 自定义监控
  • Grafana(Dashboard展示)

docker-compose.yml如下

version: '2'
services:
    grafana:
        image: grafana/grafana:latest
        container_name: grafana_3311
        restart: always
        volumes:
            - ./data/:/var/lib/grafana
        ports:
            - "3311:3000"

注意:service启动(数据挂载)之前,应先在grafana目录进行如下操作

mkdir data
chown 472:472 data/
docker-compose up -d

即可通过http://IP:3311进行服务的访问
初始账号:admin

初始密码:admin

添加alexanderzobnin-zabbix-app-4.0.1.zip插件到grafana的映射目录下(在官网下载,附录上传限制原因无法上传到此文档里)

cp alexanderzobnin-zabbix-app-4.0.1.zip data/plugins/
sudo unzip alexanderzobnin-zabbix-app-4.0.1.zip
docker-compose down
docker-compose up -d

启用zabbix插件

Zabbix5.2监控安装和配置_第25张图片

添加数据源

Zabbix5.2监控安装和配置_第26张图片

Zabbix5.2监控安装和配置_第27张图片

Zabbix5.2监控安装和配置_第28张图片

http://ip:6380/api_jsonrpc.php

之后就可以开始该数据源的dashboard打造了。详细dashboard要点过多,将在新的篇幅中介绍。

  • 问题集:
  • 1.zabbix-server的宿主机agent无法与server相连。

查/var/log/zabbix/zabbix_agentd.log日志发现:

failed to accept an incoming connection: connection from "172.19.0.4" rejected, allowed hosts: "192.168.1.16"

zabbixserver所在的docker网络172.19.0.4和本机的192.168.1.16不一致。
这是由于docker-compose创建的容器内服务访问宿主机,优先走的是docker为该容器创建的网卡,网卡ip不写在agent的配置文件里则该网卡发出的请求会被agent拒绝。

解决方案:客户端配置文件中Sever和ServerActive中加上“172.19.0.4”(用逗号作分隔)并重启客户端(实际上后来发现)Zabbix5.2监控安装和配置_第29张图片

  • 2.Job for zabbix-agent.service failed. See ‘systemctl status zabbix-agent.service’ and ‘journalctl -xn’ for details.

解决方案:关闭SELINUX

setenforce 0
vim /etc/selinux/config 
#将 SELINUX=enforcing改为disabled 
SELINUX=disabled
  • 3.邮件告警提示COULDN’T RESOLVE HOST NAME

解决方案:是系统无法联网导致的dns服务器不可达。开放网络,检查网络配置

你可能感兴趣的:(企业需要的运维部署,zabbix,linux,监控类)