1.官网

img

2.先装好zabbix服务端再说

zabbix安装全流程

0.基础包
​
​
1.配置yum仓库
https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/
​
安装
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
​
# 修改repo文件,改为清华源
sed -i 's#repo.zabbix.com#mirrors.tuna.tsinghua.edu.cn/zabbix#g' /etc/yum.repos.d/zabbix.repo
​
2.安装zabbix服务端(前端)、zabbix连接数据库、zabbix-agent(客户端)
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server
​
# zabbix-server         服务端
# zabbix-server-mysql   以mysql作为存储开发的zabbix-server服务端程序
# zabbix-web-mysql      php核心程序,zabbix-UI页面,也是以mysql为存储版本
# zabbix-agent          采集客户端数据的核心程序 ,自己监控自己
# mariadb-server        安装mysql服务端程序
​
启动mariadb数据库,设置开机自启
systemctl start mariadb && systemctl enable mariadb
​
3.设置mariadb数据库,创建zabbix库,存储监控数据,且创建账号
mysqladmin password yang1025
mysql -uroot -pyang1025 -e 'create database zabbix character set utf8 collate utf8_bin;'
mysql -uroot -pyang1025 -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'yang1025';"
​
# 创建用户账户,zabbix 密码是 linux0224
# 给与权限是,zabbix这个用户 ,对于zabbix这个库,下的所有表,都是最大权限
​
测试zabbix用户
[root@zabbix-server-71 ~]#mysql -uzabbix -pyang1025 -e "show databases;"
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
| zabbix             |
+--------------------+
​
4.导入zabbix的数据库
[root@zabbix4-server-71 ~]#zcat /usr/share/doc/zabbix-server-mysql-4.0.50/create.sql.gz | mysql -uroot -pyang1025 zabbix
​
#查看数据表导入过来没有
[root@zabbix-server-71 ~]#mysql -uzabbix -pyang1025 -e "show tables from zabbix;"
​
# 技巧,查找命令来自于哪个软件包,便于你去安装
yum provides zcat 
yum install gzip -y
​
5.编辑zabbix服务端配置文件(修改数据库部分即可)指明自己的ip,便于agent去连接
cat > /etc/zabbix/zabbix_server.conf <<'EOF'
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=yang1025
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
EOF
​
# 配置文件里面,不支持中文,因此笔记自己看就行
[root@zabbix4-server-71 ~]#grep "^[a-Z]" /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost   # 指明mysql的地址 zabboix-server mysql 
DBName=zabbix   # 数据库名字
DBUser=zabbix   # 数据库的链接用户  
DBPassword=yang1025  # 数据库密码
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts   # 存放自定义监控项脚本的目录 
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
EOF
​
6.启动zabbix服务端,且开机自启
systemctl start zabbix-server && systemctl enable zabbix-server
​
7.检查zabbix
[root@zabbix4-server-71 ~]#ps -ef|grep zabbix
[root@zabbix-server-71 ~]#netstat -tunlp|grep zabbix
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      2965/zabbix_server  
tcp6       0      0 :::10051                :::*                    LISTEN      2965/zabbix_server

apache配置

1.修改时区,改为亚洲/上海
[root@zabbix4-server /tmp]#grep -in 'shanghai' /etc/httpd/conf.d/zabbix.conf 
20:        php_value date.timezone Asia/Shanghai
​
2.重启
systemctl restart httpd

访问zabbix前端安装界面

直接访问对于服务器的80端口的apache服务,已经和zabbix结合了,其实就是一个LAMP架构了而已。

删除这个测试文件,然后开始安装你的zabbix吧。

[root@zabbix4-server /var/www/html]#rm -f phpinfo.php

访问zabbix入口

10.0.0.71/zabbix

image-20240930201218883

体检,安装环境检查

image-20240930201238508

配置数据库连接

image-20240930201520557

配置zabbix服务端的主机端口信息

image-20240930201621424

登录zabbix

默认登录账号
Admin
密码
zabbix

修改语言为中文

image-20240930201142740

修复中文乱码

image-20240930201932019

解决办法,这是因为缺少zabbix所需的字体
​
# 文泉仪微黑字体
[root@zabbix4-server ~]#yum install wqy-microhei-fonts -y
​
# 拷贝字体给zabbix用,覆盖图形字体
[root@zabbix4-server ~]#cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf 
cp: overwrite ‘/usr/share/zabbix/assets/fonts/graphfont.ttf’? y

zabbix功能特点

zabbix是一款超过23年经验的监控王牌软件

  • 数据采集

    • 支持SNMP、JMX、等采集数据协议

    • 支持自定义时间频率采集数据

    • 支持server、proxy、agent的方式采集数据

  • 灵活定义触发器

    • 支持自定义触发条件

    • 将触发器和告警方式关联

  • 多种告警方式

    • 短信、邮件、微信

    • 告警分等级、一般、警告、紧急

    • 支持自定义警告内容。

  • 可视化展示丰富

    • 内置图形功能可以将采集的数据实时绘制成图形

    • 使用图形聚合功能可以汇总多个监控项图形、集中展示

    • 提高报表分析功能

  • 存储历史数据

    • 采集到的数据存储入库,便于长久管理,查看历史记录

  • 配置简单上手

    • 配置文件简单,文档丰富,参数易懂

    • 一般添加主机、关联模板两部曲即可完成主机监控

  • 大量的监控模板

    • zabbix-agent支持大量的监控项且被制作成了模板,方便复用

  • 美观的UI页面

    • 基于php开发的zabbix-ui,大部分操作通过页面点击完成。

  • 二次开发能力

    • 提供zabbix API可编程接口,进行批量数据操作,以及第三方工具集成。

  • 多平台扩展

    • 支持linux、windows

    • 由C语言开发的server、agent、性能强悍。

4.1 Zabbix 架构组成

Zabbix 主要有由以下组件组成,功能介绍如下:

Server 服务端
​
Zabbix Server 是 Zabbix 的核心组件,其功能为将 Agent 采集到的数据持久化 存储到数据库里。
​
数据库存储
存储所有由 Agent 采集到的数据,Zabbix 支持多种数据存储,例如:
Mysql,Oracle,PostgreSQL,Elasticsearch 等。
​
Web 界面
Zabbix 提供了友好的 Web 界面方便我们操作,Web 界面的运行环境可以是 Nginx+PHP或者Apache+PHP服务组成。
​
Web界面也是ZabbixServer的一部分。
​
Proxy 代理端
对于分布式环境,Zabbix 也提供了代理的方案,可以代替 Zabbie Server 收集 多个 Agent 的数据,然后在将收集到的数据汇总到 Zabbix Server,Proxy 可以 起到分担 Zabbix Server 负载的作用。
​
Agent 客户端
Zabbix Agent 被部署在需要监控主机上,用于采集监控数据并发送到 Zabbix Server 端。