一、Zabbix简介
1.zabbix简介
Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。通过C/S模式采集数据,通过B/S模式在web端展示和配置。官网地址
zabbix 由 server、agent、web、proxy 、db 组成。
- server:收集agent报告数据、存储到数据库,再通过web 展示统计信息。
- agent:安装在监控目标服务器上,收集服务器数据报告给Zabbix Server。
- web:为了从任何地方和任何平台都轻松的访问Zabbix,Zabbix提供了基于Web的界面。
- proxy:可以替Zabbix Server收集性能和可用性数据。Proxy代理服务器是Zabbix软件可选择部署的一部分;当然,Proxy代理服务器可以帮助单台Zabbix Server分担负载压力。主要体现分布式特点。
- db:所有配置信息和Zabbix收集到的数据都被存储在数据库中。
2.Zabbix主要功能:
- 主机的性能监控(CPU负荷、内存使用、磁盘使用、网络状况)
- 网络设备性能监控
- 数据库性能监控
- FTP等通用协议监控
- 端口监视
- 日志监视
- 多种告警方式、报表图表
3.zabbix的主要特点:
- 安装与配置简单
- 支持多语言
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- email等通知功能
4.zabbix运行环境
- Server:Zabbix-Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下。
- Agent:目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows。
更多文档,请参考官方文档。
二、Zabbix安装部署
1、安装zabbix
下载地址:https://www.zabbix.com/cn/download
这里选择的是CentOS7 MysqlDB 的5.0版本,按着选择的版本的安装说明即可。
- 安装Zabbix资源仓库
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum clean all
此仓库为官方仓库,可能下载缓慢导致。出现下载中断,比如如下提示:
[Errno 14] curl#18 - "transfer closed with 1433346 bytes remaining to read" ] 11 kB/s | 1.8 MB 00:02:08 ETA
Trying other mirror.
可以替换为阿里源
# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
修改/etc/yum.repos.d/zabbix.repo,增加https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/相关设置。
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/
https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/debuginfo/
https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
详细设置,可参考此文
- 安装Zabbix服务和代理
# yum install zabbix-server-mysql zabbix-agent
- 安装Zabbix前端管理
# yum install centos-release-scl
编辑配置文件 /etc/yum.repos.d/zabbix.repo ,设置 zabbix-frontend有效.
[zabbix-frontend]
...
enabled=1
...
安装Zabbix 前端包
# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
- 创建初始数据库
安装mysql的一个分支mariadb。
# yum install mariadb-server mariadb -y
启动数据库
# systemctl start mariadb
创建初始数据库
在数据库主机上运行以下代码。
# mysql
MariaDB> create database zabbix character set utf8 collate utf8_bin;
MariaDB> create user zabbix@localhost identified by 'password';
MariaDB> grant all privileges on zabbix.* to zabbix@localhost;
MariaDB> quit;
导入初始架构和数据。
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -ppassword zabbix
- 为Zabbix server配置数据库
编辑配置文件 /etc/zabbix/zabbix_server.conf
DBPassword=password
- 为Zabbix前端配置PHP
编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf,修改前端时间为(上海)。
php_value[date.timezone] = Asia/Shanghai
- 启动Zabbix server和agent进程
启动Zabbix server和agent进程,并为它们设置开机自启:
# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
2、前端配置
- 登录http://server_ip_or_name/zabbix,设置db密码
- 设置服务器IP和名称。名称会显示在菜单和个页面title上。
- 前端访问默认的用户名是Admin,密码为zabbix,登录后效果如下
三、问题
1、zabbix server创建zabbi_server_alerter.sock没有权限
cannot initialize alert manager: Cannot bind socket to "/var/run/zabbix/zabbix_server_alerter.sock": [13] Permission denied.
简单处理,执行
临时关闭SELinux
setenforce 0
永久关闭,修改配置文件:
# vi /etc/selinux/config
SELINUX=disabled
如果想启动SElinux下的配置处理,请参考此文