Zabbix简介
Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。
zabbix优点:
- 支持自动发现服务器和网络设备;
- 分布式的监控体系和集中式的WEB管理;
- 支持主动监控和被动监控模式;
- 基于SNMP、IPMI接口方式、Agent方式;
- 基于WEB的管理方法,支持自由的自定义事件和邮件、短信发送;
- 高水平的业务视图监控资源,支持日志审计,资产管理等功能;
zabbix原理
zabbix核心组件
-
Server
Zabbix server 是 Zabbix软件的核心组件,agent 向其报告可用性、系统完整性信息和统计信息。server也是存储所有配置信息、统计信息和操作信息的核心存储库。 -
Agent
Zabbix agent 部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给 Zabbix server。 -
数据库
所有配置信息以及 Zabbix 采集到的数据都被存储在数据库中。 -
Web 界面
为了从任何地方和任何平台轻松访问 Zabbix ,我们提供了基于 web 的界面。该界面是 Zabbix server 的一部分,通常(但不一定)和 Zabbix server 运行在同一台物理机器上。 - Proxy
Zabbix proxy 可以代替 Zabbix server采集性能和可用性数据。Zabbix proxy在Zabbix的部署是可选部分;但是proxy的部署可以很好的分担单个Zabbix server的负载。
部署zabbix
关闭防火墙、沙盒
# 关闭防火墙并禁止开机自启
systemctl stop firewalld
systemctl disable firewalld
# 临时关闭沙盒
setenforce 0
配置阿里云镜像源
yum -y install epel-release
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
yum update
安装LNMP
#编译安装nginx
# 安装所需依赖包
yum -y install gcc gcc-c++ autoconf automake make epel-release pcre-devel zlib-devel openssl-devel
# 创建nginx用户
useradd -s /sbin/nologin -M nginx
# 下载nginx源码包
wget http://nginx.org/download/nginx-1.18.0.tar.gz
# 解压nginx包
tar -zxvf nginx-1.18.0.tar.gz
# 编译安装nginx
cd nginx-1.18.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx && make && make install
# 路径优化
ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
#安装mariadb、PHP
yum -y install mariadb mariadb-server mariadb-devel php php-fpm php-devel php-mysql
配置mariadb数据库
# 启动mariadb并加入开机自启
systemctl start mariadb
systemctl enable mariadb
# 修改数据库密码
mysqladmin -uroot -p password "123.com"
Enter password:
# 创建数据库并授权
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all on zabbix.* to "zabbix"@localhost identified by "zabbix";
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
导入zabbix数据
yum -y install zabbix40-dbfiles-mysql
# 查询包文件安装路径
rpm -ql zabbix40-dbfiles-mysql
/usr/share/licenses/zabbix40-dbfiles-mysql-4.0.17
/usr/share/licenses/zabbix40-dbfiles-mysql-4.0.17/COPYING
/usr/share/zabbix-mysql
/usr/share/zabbix-mysql/Makefile
/usr/share/zabbix-mysql/Makefile.am
/usr/share/zabbix-mysql/Makefile.in
/usr/share/zabbix-mysql/data.sql
/usr/share/zabbix-mysql/images.sql
/usr/share/zabbix-mysql/schema.sql
# 导入数据
mysql -uzabbix -pzabbix zabbix < /usr/share/zabbix-mysql/schema.sql
mysql -uzabbix -pzabbix zabbix < /usr/share/zabbix-mysql/images.sql
mysql -uzabbix -pzabbix zabbix < /usr/share/zabbix-mysql/data.sql
安装zabbix前端软件包
yum -y install zabbix40-web zabbix40-web-mysql
修改nginx配置文件
vim //usr/local/nginx/conf/nginx.conf
location / {
root /usr/share/zabbix;
index index.php index.html index.htm;
}
location ~ \.php$ {
root /usr/share/zabbix;
fastcgi_pass 127.0.0.1:9000;
fastcgi_buffer_size 4k;
fastcgi_buffers 32 4k;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
启动nginx、php
# 启动nginx
nginx
# 启动php并加入开机自启
systemctl start php-fpm
systemctl enable php-fpm
安装zabbix-server
yum -y install zabbix40-server zabbix40-server-mysql
# 修改zabbix-server配置文件
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
启动zabbix-server
# 启动zabbix-server并加入开机自启
systemctl start zabbix-server
systemctl enable zabbix-server-mysql.service
安装zabbix-agent
yum -y install zabbix40-agent
# 启动zabbix-agent并加入开机自启
systemctl start zabbix-agent
systemctl enable zabbix-agent
访问localhost_ip,配置zabbix安装向导
- 点击下一步会出现如下报错
解决办法
# 修改php配置
vim /etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai
# 重启php
systemctl restart php-fpm
刷新网页(已解决)
设置中文字体
修改为中文字体后会出现字体乱码
解决zabbix中文字体乱码
1、复制windows中的字体到zabbix字体目录(以楷体为例:simkai.ttf)
- windows字体路径:
C:\Windows\Fonts\
- zabbix字体路径:
/usr/share/zabbix/assets/fonts/
2、修改默认字体指向
[root@localhost fonts]# vim /usr/share/zabbix/include/defines.inc.php
# 把所有的graphfont改为simkai
define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name
define('ZBX_FONT_NAME', 'simkai');
刷新网页(已解决)
牛逼
艹!
啊哈哈