一、Zabbix与grafana概述
1.1.1Zabbix简介
zabbix是一个监控软件,其可以监控各种网络参数,保证企业服务架构安全运营,同时支持灵活的告警机制,可以使得运维人员快速定位故障、解决问题。zabbix支持分布式功能,支持复杂架构下的监控解决方案,也支持web页面,为主机监控提供了良好直观的展现。
zabbix主要由以下5个组件构成:
1、Server
zabbix server是zabbix的核心组件,server内部存储了所有的配置信息、统计信息和操作信息。zabbix agent会向zabbix server报告可用性、完整性及其他统计信息。
2、web页面
web页面也是zabbix的一部分,通常和zabbix server位于一台物理设备上,但是在特殊情况下也可以分开配置。web页面主要提供了直观的监控信息,以方便运维人员监控管理。
3、数据库
zabbix数据库内存储了配置信息、统计信息等zabbix的相关内容。
4、proxy
zabbix proxy可以根据具体生产环境进行采用或者放弃。如果使用了zabbix proxy,则其会替代zabbix server采集数据信息,可以很好的分担zabbix server的负载。zabbix proxy通常运用与架构过大、zabbix server负载过重,或者是企业设备跨机房、跨网段、zabbix server无法与zabbix agent直接通信的场景。
5、Agent
zabbix agent通常部署在被监控目标上,用于主动监控本地资源和应用程序,并将监控的数据发送给zabbix server。
1.1.2Grafana概述
Grafana 是一个开源的监控数据分析和可视化套件。最常用于对基础设施和应用数据分析的时间序列数据进行可视化分析,也可以用于其他需要数据可视化分析的领域。Grafana 可以帮助你查询、可视化、告警、分析你所在意的指标和数据。可以与整个团队共享,有助于培养团队的数据驱动文化。
Grafana 的特点:
可视化:快速和灵活的客户端图形具有多种选项。面板插件为许多不同的方式可视化指标和日志
报警:可视化地为最重要的指标定义警报规则。Grafana 将持续评估它们,并发送通知
通知:警报更改状态时,它会发出通知。接收电子邮件通知
动态仪表盘:使用模板变量创建动态和可重用的仪表板,这些模板变量作为下拉菜单出现在仪表板顶部
混合数据源:在同一个图中混合不同的数据源!可以根据每个查询指定数据源。这甚至适用于自定义数据源
注释:注释来自不同数据源图表。将鼠标悬停在事件上可以显示完整的事件元数据和标记
过滤器:过滤器允许您动态创建新的键/值过滤器,这些过滤器将自动应用于使用该数据源的所有查询
二、环境准备
本次实验均采用虚拟机进行安装,环境准备:
Centos 8.5
Zabbix :6.0.2 TLS版本
网址:https://www.zabbix.com/cn/
PostgreSQL:14
网址:https://www.postgresql.org/
TimescaleDB:2.6.1
网址:https://docs.timescale.com/
Grafana:8.2.0-1
网址:https://grafana.com/
三、Zabbix安装与注意事项
3.1 Centos8.5安装
安装步骤略过
3.1.1 关闭防火墙与selinux
命令:systemctl disable firewalld.service --now
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
3.1.2 配置yum仓库并初始化
Yum仓库使用阿里云的centos8的仓库
先将源仓库的repo文件移动到/home目录下
从阿里下一个镜像使用
命令:
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
并将系统进行更新
Yum update -y
3.2 下载Zabbix yum源与安装
命令:
Rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-2.el8.noarch.rpm
获取zabbix镜像源
使用
dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
安装zabbix组件
3.3 安装postgresql数据库
使用命令:
dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
关闭内核自带的postgresql
dnf -qy module disable postgresql
安装postsql
dnf install -y postgresql14-server
完成后进行初始化和启动服务
/usr/pgsql-14/bin/postgresql-14-setup initdb
systemctl enable postgresql-14
systemctl start postgresql-14
3.4时序数据库安装
获取timedb仓库源
命令:
tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL
[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/$(rpm -E %{rhel})/\$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey
sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300
EOL
使用命令:
yum install timescaledb-2-postgresql-14 -y
初始化并启动
/usr/pgsql-14/bin/postgresql-14-setup initdb
systemctl enable postgresql-14
systemctl start postgresql-14
3.5 创建zabbix数据库及用户
命令:
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix
导入初始架构和数据,系统将提示您输入新创建的密码
zcat /usr/share/doc/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
为Zabbix数据库启用TimescleDB插件
echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
Tips:启动插件时会报错
解决办法:
echo "shared_preload_libraries = 'timescaledb'" >> /var/lib/pgsql/14/data/postgresql.conf
systemctl restart postgresql-14
再次输入刚命令即可
3.6 修改zabbix配置文件并启动相关服务
使用:
vim /etc/zabbix/zabbix_server.conf
修改
DBPassword=******
启动服务
systemctl restart zabbix-server zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpm
3.7 登录Zabbix界面
网址: http://IP地址/zabbix
用户:Admin
密码:zabbix
没有中文版,我们需要安装一个中文插件
dnf install langpacks-zh_CN glibc-langpack-zh.x86_64 -y
zabbix安装完成!
四、Grafana安装
4.1 Grafana安装包
获取安装包
wget https://dl.grafana.com/oss/release/grafana-8.2.0-1.x86_64.rpm
yum -y install grafana-8.2.0-1.x86_64.rpm
启动grafana服务
systemctl daemon-reload
systemctl start grafana-server.service
systemctl enable grafana-server.service
查看端口3000是否存在(grafana使用的3000端口)
ss -anlt|grep *:3000
安装zabbix插件
grafana-cli plugins list-remote
grafana-cli plugins install alexanderzobnin-zabbix-app
service grafana-server restart
4.2 Grafana登录
登录方式: http://IP地址:3000
用户名:admin
密码:admin
Grafana安装完成!
五、Grafana加载Zabbix插件
5.1 Grafana zabbix插件
第一步:
第二步:
第三步:
第四步:
第五步:
保存并测试
第六步:添加监控项
Grafana与zabbix完成!!!
六、zabbix+grafana添加交换机监控项
本次添加的交换机采用HCL模拟交换机。
6.1 交换机配置命令
网络打通后配置SNMP
#进入系统视图
<H3C>sys
Enter system view, return user view with Ctrl+Z.
#关闭烦人的提示
[H3C]un in en
Info: Information center is disabled.
#开启snmp-agent
[H3C]snmp-agent
#配置snmp的团体名称为test,只读权限
[H3C]snmp-agent community read test
[H3C]snmp-agent sys-info version ?
all Enable the device to support SNMPv1, SNMPv2c and SNMPv3
v1 Enable the device to support SNMPv1
v2c Enable the device to support SNMPv2c
v3 Enable the device to support SNMPv3
#指定snmp的版本为v2
[H3C]snmp-agent sys-info version v2c
6.2 服务器安装snmp 软件
命令:dnf install net-snmp net-snmp-utils -y
Vim /etc/snmp/snmpd.conf
修改配置文件 vim /etc/snmp/snmpd.conf
添加 view systemview included .1
启动 服务
systemctl start snmpd
systemctl enable snmpd
测试: snmpwalk -v 2c -c 团体名 x.x.x.x
这种就是监控到了,后面就是在zabbix界面配置
6.3 zabbix+grafana界面配置
先导入一个H3C交换机模板
添加主机
创建主机
在interface下点击添加,输入IP地址和版本号,以及团体名称,上图的团体名称用自己设置的团体字。端口为161(默认)不用管。
填写完毕后,不要急着点添加提交,选择【宏】,设置
设置宏
点击自动发现
返回查看 监控项已完成
Grafana界面配置
完成!
6.4 修改zabbix字体
首先win+R 搜索 fonts
然后随便复制了一个字体,传到zabbix服务器里
要将TTC 改成TTF选一个就好
将其中一个文件上传到服务器
使用命令:cd /usr/share/zabbix/assets/fonts/
使用 mv /root/传的文件名 graphfont.ttf //覆盖掉源文件
登录zabbix查看
修改完成,字体附件,如下: