ZABBIX4.2+Grafana6.1部署
环境准备
SNAME | OS | IP | ROLE |
---|---|---|---|
zabbix_server | CentOS7.5_1804_64bit | 192.168.31.194 | server |
zabbix_client | CentOS7.5_1804_64bit | 192.168.31.214 | client |
升级系统组件版本(可选)
yum -y update
1
SELinux配置
启用Zabbix前端和服务器之间的通信:
setsebool -P httpd_can_connect_zabbix on
1
如可以通过网络访问数据库,则还需要允许Zabbix前端连接到数据库:
setsebool -P httpd_can_network_connect_db on
1
或直接关闭SELinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
1
防火墙配置
临时关闭firewall
systemctl stop firewalld.service
1
禁止firewall开机启动
systemctl disable firewalld.service
1
安装Zabbix-server
添加Zabbix存储库
安装存储库配置包。该软件包包含yum(软件包管理器)的配置文件。
rpm -ivh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
1
前端安装先决条件
Zabbix前端需要额外的基本安装包。您需要在将运行Zabbix前端的系统中启用可选rpms的存储库:
yum-config-manager --enable rhel-7-server-optional-rpms
1
(如果提示没有yum-config-manager命令则使用yum -y install yum-utils后再次尝试)
服务器/代理/前端安装
要在 MySQL支持下安装Zabbix服务器:
yum -y install zabbix-server-mysql
1
要使用MySQL支持安装Zabbix-proxy:
yum -y install zabbix-proxy-mysql
1
要在 MySQL支持下安装Zabbix前端:
yum -y install zabbix-web-mysql
1
MySQL安装
CentOS自带的YUM仓库是不会自动更新每个软件的最新版本,所以无法通过YUM方式安装MySQL的高级版本。
安装mysql5的解锁姿势是要先安装带有可用的mysql5系列社区版资源的rpm包
下载RPM包
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
1
yum -y install mysql-community-release-el7-5.noarch.rpm
1
使用YUM的方式安装MySQL
yum -y install mysql-community-server
1
启动MySQL并设置开机启动
systemctl enable mysqld systemctl start mysqld
1
2
创建数据库
对于Zabbix_server和Zabbix_proxy守护程序,需要一个数据库。运行Zabbix_agent不需要它。
Zabbix_server和Zabbix_proxy需要单独的数据库; 他们不能使用相同的数据库。因此,如果它们安装在同一主上,则必须使用不同的名称创建其数据库!
创建数据库
mysql -u rootmysql> create database zabbix character set utf8 collate utf8_bin;mysql> grant all privileges on zabbix.* to zabbix@localhost identified by "Zabbix@123";
1
2
3
导入数据
现在使用MySQL 导入服务器的初始模式和数据:
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
1
系统将提示您输入新创建的数据库密码,当前环境的密码是上面设置的’Zabbix@123‘。
如果使用proxy,则使用这条命令导入数据库:
zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix_proxy
1
为Zabbix服务器/代理配置数据库
编辑zabbix_server.conf(和zabbix_proxy.conf)以使用其各自的数据库。例如:
#vi /etc/zabbix/zabbix_server.conf DBHost = localhost DBName = zabbix zabbix DBUser = zabbix zabbix DBPassword = Zabbix@123 在DBPassword中使用Zabbix数据库密码进行MySQL;
1
2
3
4
5
6
启动Zabbix服务器进程
systemctl start zabbix-server httpd
1
systemctl enable zabbix-server httpd
1
Zabbix前端配置
对于RHEL 7及更高版本,Zabbix前端的Apache配置文件位于/etc/httpd/conf.d/zabbix.conf中。
某些PHP设置已经配置。但是有必要取消注释“date.timezone”设置并为您设置正确的时区。
php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value max_input_vars 10000 php_value always_populate_raw_post_data -1#php_value date.timezone Asia/Shanghai
1
2
3
4
5
6
7
8
Web端访问进行配置
http://192.168.31.194/zabbix/
解决中文显示乱码的问题
将Win10操作系统C:\Windows\Fonts目录下的任意字体,拷贝到/usr/share/zabbix/fonts目录下,更改后缀为’’.ttf’
vim /usr/share/zabbix/include/defines.inc.php 69 define('ZBX_GRAPH_FONT_NAME', 'msyh'); // font file name114 define('ZBX_FONT_NAME', 'msyh');
1
2
3
安装Zabbix-agent
被监控端需安装Zabbix-agent
rpm -ivh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
1
yum-config-manager --enable rhel-7-server-optional-rpms
1
yum install zabbix-agent
1
vim /etc/zabbix/zabbix_agentd.conf Server=192.168.31.194
1
2
systemctl start zabbix-agent
1
Grafana 6.1部署
一款高颜值监控绘图工具Grafana,在使用Zabbix监控环境中,通常我们会结合Grafana进行图形展示。Grafana默认没有zabbix作为数据源,需要手动给zabbix安装一个插件,然后再添加进Grafana即可,非常简单。下面就介绍下Grafana的使用:
Grafana的官网:http://docs.grafana.org/installation/rpm/
安装RPM包
wget https://dl.grafana.com/oss/release/grafana-6.1.4-1.x86_64.rpm
1
yum -y install fontconfig freetype* urw-fonts
1
yum -y localinstall grafana-6.1.4-1.x86_64.rpm
1
启动Grafana并设置开机自启
systemctl enable grafana-server
1
systemctl start grafana-server
1
安装grafana-zabbix插件
grafana-cli plugins install alexanderzobnin-zabbix-app
1
然后重启Grafana服务
systemctl restart grafana-server
1
Web端访问3000端口
http://192.168.31.194:3000
Grafana默认用户名:admin,密码:admin。需重置
Zabbix的API地址为 http://192.168.31.194/zabbix/api_jsonrpc.php