Zabbix的介绍和部署

  1. 简介

  • Zabbix 是一款可监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的健康状况和完整性。Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的警报。这允许对服务器问题做出快速反应。Zabbix 基于存储的数据提供报告和数据可视化功能。这使得 Zabbix 成为容量规划的理想选择。

zabbix server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行

zabbix database:用户存储所有配置信息,以及存储由zabbix server收集到的数据

zabbix web:zabbix的interface接口,通常与Server运行在同一台主机上

zabbix agent:部署在被监控主机上,负责收集本地数据发往server端或proxy端

zabbix proxy:常用于分布监控环境中,代理Server收集部分被监控的监控数据并统一发往Server端(通常大于500台主机才需要使用)

  1. Zabbix 监控系统监控对象

数据库: MySQL,MariaDB,Oracle,SQL Server agent

应用软件:Nginx,Apache,PHP,Tomcat agent


集群: LVS,Keepalived,HAproxy,RHCS,F5 agent

虚拟化: VMware,KVM,XEN ,docker,k8s agent

操作系统:Linux,Unix,Windows性能参数 agent


硬件: 服务器,存储,网络设备 IPMI

网络: 网络环境(内网环境,外网环境) SNMP

  1. Zabbix监控方式

(1)主动模式

主动检测:相对于server而言;server向agent请求获取监控项相关的数据,agent接收请求、获取数据并响应给server;

(2)被动模式

被动检测:相对于server而言;、agent向server请求与自己相关监控项配置,主动地将server配置的监控项相关的数据发送给server;

被动监控能极大节约监控server 的资源。

  1. 部署

  1. 安装zabbix仓库

wget https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb
dpkg -i zabbix-release_latest+debian12_all.deb
apt update
  1. 安装Zabbix server Web前端 agent

apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
  1. 数据库

  1. 安装数据库

apt -y isntall mysql  ###ubuntu
apt -y isntall mariadb-server ##debian12
  1. 初始化启动数据库

use mysql
alter user root@localhost identified by '1';
create user root@% identified by '1';


create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'password';
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
quit;
  1. 导入初始架构和数据

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
  1. 导入数据库架构后禁用 log_bin_trust_function_creators 选项

mysql> set global log_bin_trust_function_creators = 0;
  1. 修改配置文件

  • 为 Zabbix server配置数据库

编辑配置文件 /etc/zabbix/zabbix_server.conf 中

 
DBPassword=数据库密码 ##取消注释-
  • 为Zabbix前端配置PHP

编辑配置文件 /etc/zabbix/nginx.conf 中 uncomment 并设置 'listen' 和 'server_name' 指令。

 
  • ​
    listen 8080; 
    server_name example.com ##取消注释
    
    ​

    启动Zabbix server和agent进程

启动Zabbix server和agent进程,并为它们设置开机自启:

systemctl restart zabbix-server zabbix-agent nginx php7.4-fpm
systemctl enable zabbix-server zabbix-agent nginx php7.4-fpm
  1. 浏览器进入

ip:端口

填写数据库信息

填写完要监控的主机后 下一步登陆进入

客户端配置zabbix

  1. 安装zabbix仓库

 
# wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest+ubuntu24.04_all.deb 
# dpkg -i zabbix-release_latest+ubuntu24.04_all.deb 
# apt update
  1. 安装zabbix agent2

 
# apt install zabbix-agent2 zabbix-agent2-plugin-*
  1. 启动

 
# systemctl restart zabbix-agent2 
# systemctl enable zabbix-agent2
  1. 修改配置文件

路徑: /etc/zabbix/zabbix_agent2.conf

 
Server=服务端ip

个人邮箱报警设置

  1. 点击email

  1. 创建媒介

=

  1. 添加主机

  1. 添加监控项

需要修改配置文件

/etc/zabbix/zabbix_agent2.conf

 

Server=地址为要监控的地址
ServerActive=地址为要监控的地址

添加完成后测试

  1. 创建触发器

  1. 创建键值

名字为自己创建的名字

[root@mysql-62 ~]# cd /etc/zabbix/zabbix_agent2.d/
[root@mysql-62 zabbix_agent2.d]# vim User_MySQL.conf

UserParameter=User.MySQL,who |wc -l

[root@mysql-62 zabbix_agent2.d]# systemctl restart zabbix-agent2.service 

  1. 下载中文包

 
apt -y install language-pack-zh-hans

飞书zabbix

  1. 创建群机器人

  1. 服务端编写脚本

在/usr/lib/zabbix/alertscripts/下编写脚本

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

import requests
import json
import sys
import os
import datetime

# 你复制的webhook地址粘贴进url内
url = "https://open.feishu.cn/open-apis/bot/v2/hook/d61e7b5b-2c40-4de9-a263-10x1a0f6e037"


def send_message(message):
    payload_message = {
        "msg_type": "text",
        "content": {
            "text": message
        }
    }
    headers = {
        'Content-Type': 'application/json'
    }

    response = requests.request("POST", url, headers=headers, data=json.dumps(payload_message))
    return response


if __name__ == '__main__':
    text = sys.argv[1]
    send_message(text)

增加执行权限

增加执行权限
chmod +x feishu.py

root@Ubuntu-zabbix:/usr/lib/zabbix/alertscripts# ./feishu.py 测试

企业微信脚本

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

import requests
import sys

headers = {'Content-Type': 'application/json'}
api_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=9ad8dc8c-732f-48f5-a5b6-4e7910d837c4"

def msg(text):
    json_text = {
        "msgtype": "markdown",
        "markdown": {
            "content": text
        }
    }
    response = requests.post(api_url, json=json_text, headers=headers)
    print(response.content.decode('utf-8'))  # 解码响应内容以便打印

if __name__ == '__main__':
    if len(sys.argv) < 2:
        print("Usage: python3 script.py 'Your message here'")
        sys.exit(1)

    text = sys.argv[1]
    msg(text)

结果

  1. zabbix的web设置

  1. 创建媒介


{ALERT.MESSAGE} ## 在脚本参数里写下

  1. 用户设置

  1. 创建动作

添加自定义信息

 
告警通知!!!

告警人:尼成龙
告警主机:{HOST_NAME}
主机地址:{HOST_IP}
告警等级:{TRIGGER_SEVERITY}
告警信息:{TRIGGER_NAME}
告警状态:{
  
  {TRIGGER_STATUS}:{TIME_VALUE}

<think>嗯,用户想了解Zabbix的安装部署方法。首先,我需要回忆一下之前提供的引用内容,看看有没有相关的步骤。引用[1]提到了在CentOSUbuntu上安装Zabbix Agent,以及启动Zabbix Server的命令。引用[2]则是在CentOS7下安装多个Zabbix组件,比如zabbix-server-mysql、zabbix-web等。用户可能需要一个全面的教程,包括服务器、数据库、Web界面Agent的安装步骤。 首先,我应该分步骤来写,按照环境准备、数据库配置、安装Zabbix服务器、Web界面配置、Agent安装启动服务的顺序。要注意区分不同的操作系统,比如CentOSUbuntu的命令可能不同。引用里提到的命令需要正确应用,比如在CentOS使用yum安装,而Ubuntu用apt。 然后,数据库部分可能需要详细说明如何创建数据库用户,并导入初始数据。这里要确保用户正确执行这些步骤,避免权限问题。Web界面的配置部分,需要修改Apache或PHP的配置,比如时区设置,这一点在引用中没有提到,但根据经验,这是常见问题,可能需要补充。 接下来,安装Zabbix Agent的步骤在引用[1][2]都有涉及,应该整合起来,分别写出CentOSUbuntu的安装命令,并提到配置文件启动服务。最后,启动所有相关服务,并提示用户访问Web界面完成安装向导。 还需要检查是否有遗漏的步骤,比如防火墙配置或者SELinux设置,但根据引用内容,可能用户没有提到这些,所以暂时不加入,除非必要。另外,生成相关问题的时候,要考虑用户可能的后续问题,比如监控项配置、高可用部署、性能优化错误排查等,这些可以帮助用户进一步学习。 需要确保所有命令正确,特别是引用的部分,比如安装zabbix-server-mysql启动服务的命令是否正确。可能还要提醒用户替换数据库密码,使用强密码。最后,保持回答结构清晰,分步骤说明,让用户能一步步跟着操作。</think>### Zabbix 安装与部署教程(CentOS 7/8 & Ubuntu 20.04) #### 一、环境准备 1. **安装 LAMP 环境** - CentOS 7/8: ```bash sudo yum install -y httpd mariadb-server mariadb php php-mysqlnd php-gd php-xml php-bcmath php-mbstring ``` - Ubuntu 20.04: ```bash sudo apt install -y apache2 mysql-server php php-mysql php-gd php-xml php-bcmath php-mbstring ``` 2. **启动基础服务** ```bash sudo systemctl start httpd mariadb # CentOS sudo systemctl start apache2 mysql # Ubuntu sudo systemctl enable httpd mariadb # CentOS sudo systemctl enable apache2 mysql # Ubuntu ``` #### 二、数据库配置 1. **创建 Zabbix 数据库** ```sql CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin; CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; FLUSH PRIVILEGES; ``` 2. **导入初始数据** ```bash # CentOS zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix # Ubuntu zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -u zabbix -p zabbix ``` #### 三、安装 Zabbix Server 1. **安装核心组件** - CentOS 7/8: ```bash sudo yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-sender zabbix-get [^2] ``` - Ubuntu 20.04: ```bash sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent ``` 2. **配置 Zabbix Server** 编辑 `/etc/zabbix/zabbix_server.conf`: ```ini DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=your_password ``` #### 四、Web 界面配置 1. **修改 PHP 时区** 编辑 `/etc/php.d/zabbix.ini`(CentOS)或 `/etc/php/7.4/apache2/php.ini`(Ubuntu): ```ini date.timezone = Asia/Shanghai ``` 2. **重启 Apache** ```bash sudo systemctl restart httpd # CentOS sudo systemctl restart apache2 # Ubuntu ``` #### 五、安装 Zabbix Agent 1. **安装 Agent** - CentOS: ```bash sudo yum install -y zabbix-agent [^1] ``` - Ubuntu: ```bash sudo apt install -y zabbix-agent [^1] ``` 2. **配置 Agent** 编辑 `/etc/zabbix/zabbix_agentd.conf`: ```ini Server=127.0.0.1 ServerActive=127.0.0.1 Hostname=Zabbix server ``` #### 六、启动服务 ```bash sudo systemctl start zabbix-server zabbix-agent sudo systemctl enable zabbix-server zabbix-agent ``` #### 七、访问 Web 界面 通过浏览器访问 `http://服务器IP/zabbix`,按向导完成配置。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dengdeng--

感谢老板!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值