zabbix-4.0.5源码部署详细过程

因为之前一直使用某笔记来记录自己平时使用过的工具部署过程,所以此次就从笔记中将一些内容稍加修整后搬运至此,如果有问题麻烦请指出!谢谢!

zabbix简单介绍:
基于WEB界面的提供分布式系统监视以及网络监视功能
zabbix官网地址:https://www.zabbix.com
zabbix下载地址:https://www.zabbix.com/download
部署环境:

[root@docker-web-demo ~]# cat /etc/system-release
CentOS Linux release 7.4.1708 (Core)

本次部署zabbix版本:zabbix 4.0.5
本次实现效果:在一个服务器上操作!本机既为server端,也同为agent端,监控本机资源等情况。

部署流程

一、安装准备

1)防火墙和selinux配置

方法一:关闭防火墙和selinux(测试环境)

[root@docker-web-demo ~]# systemctl stop firewalld
[root@docker-web-demo ~]# systemctl disable firewalld
[root@docker-web-demo ~]# setenforce 0 (vim /etc/selinux/config  disabled)

方法二:或者添加防火墙策略和修改selinux的sebool值(生产环境)
firewall防火墙(开启状态下)
因为本服务器同为server和agent端,所以以下命令都需执行

server端:
[root@docker-web-demo ~]# firewall-cmd --zone=public --add-port=10050/tcp --permanent 
[root@docker-web-demo ~]# firewall-cmd --zone=public --add-port=10051/tcp --permanent
[root@docker-web-demo ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
agentd端:
[root@docker-web-test~]# firewall-cmd --zone=public --add-port=10050/tcp --permanent
[root@docker-web-test~]# firewall-cmd --reload		#重启
[root@docker-web-test~]# firewall-cmd --list-all		#查询

配置selinux(开启状态下)

[root@docker-web-demo ~]# getsebool httpd_can_network_connect
[root@docker-web-demo ~]# setsebool -P httpd_can_network_connect on
2)安装php等依赖包(需要可以连接外网)
[root@docker-web-demo ~]# yum -y install wget vim gcc* make php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp  net-snmp-devel perl-DBI httpd mysql-devel libxml2-devel curl-devel unixODBC-devel net-snmp-devel OpenIPMI-devel pcre* libevent-devel
3)安装mysql

当时mysql我只是单节点yum安装,没有特别的优化操作,相信各位看官也都会安装,不过以防万一,我简单说明一下mysql-yum安装步骤

1 下载并安装MySQL官方的 Yum Repository
[root@docker-web-demo ~]# wget -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
[root@docker-web-demo ~]# yum -y install mysql-community-server
2 MySQL数据库设置
首先启动MySQL
[root@docker-web-demo ~]# systemctl start mysqld
从日志中检索mysql密码
[root@docker-web-demo ~]# grep "password" /var/log/mysqld.log   #见下图

截图

登录mysql修改默认密码
[root@k8s-master ~]# mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

!!!!!!
不过这里有个问题,新密码设置的时候如果设置的过于简单会报错
在这里插入图片描述
因mysql默认的validate_password_length是8,也就是默认的密码设定规则比较高
所以如果只是简单测试使用,那就修改密码规则,可以通过如下命令修改:

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

设置之后,此时密码就可以设置的很简单,例如1234之类的。到此数据库的密码设置就完成了。

最后因为刚下载的yum源每次在使用yum的时候都会自动检索更新,所以保险起见,需要把这个刚刚下载的yum源卸载掉:

[root@docker-web-demo ~]# yum -y remove mysql57-community-release-el7-10.noarch

此时mysql安装成功。

下边就正式进入zabbix的安装步骤!!

二、zabbix-server安装配置

1)下载安装
[root@docker-web-demo ~]# mkdir /opt/pkg
[root@docker-web-demo ~]# cd /opt/pkg
[root@docker-web-demo pkg]# wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.0.5/zabbix-4.0.5.tar.gz
[root@docker-web-demo pkg]# tar -zxvf zabbix-4.0.5.tar.gz		#解压至目的目录下
[root@docker-web-demo pkg]# cd  zabbix-4.0.5
[root@docker-web-demo zabbix-4.0.5]# ./configure --prefix=/opt/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc  		#编译,生成Makefile

上方configure使用参数详解

--prefix	  自定义安装目录
--sysconfig	  自定义配置目录(不加此参数,默认在安装目录下的etc目录,eg:/opt/zabbix/etc)	
--enable-server		开启服务端配置
--enable-agent		开启客户端配置

详细可使用./configure --help查看各个编译参数

安装

[root@docker-web-demo zabbix-4.0.5]# make -j 4 && make install 		
			#根据Makefile编译安装(make -j 4代表并行4个线程编译,增加效率,减少编译速度)
[root@docker-web-demo zabbix-4.0.5]# echo $?		#检测上一条命令是否成功(检查是否安装成功)
2)数据库授权
1.创建管理zabbix的用户
[root@docker-web-demo zabbix-4.0.5]# groupadd zabbix
[root@docker-web-demo zabbix-4.0.5]# useradd zabbix -s /sbin/nologin -M -g zabbix
2.数据库授权zabbix用户
[root@docker-web-demo zabbix-4.0.5]# mysql -uroot -p
Enter password:
mysql>create database zabbix character set utf8 collate utf8_bin;		#创建一个zabbix库
Query OK, 1 row affected (0.00 sec)
mysql> create user 'zabbix'@'localhost' identified by 'zabbix';			#创建一个密码为zabbix的zabbix用户
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;				#刷新
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix' with grant option;		#授权
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;				#刷新
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye

!!!with grant option表示该用户可以将自己拥有的权限授权给别人!!!

3)导入源码包中的sql语句(建库脚本和初始化脚本)
[root@docker-web-demo ~]# mysql -uzabbix -pzabbix zabbix < /opt/pkg/zabbix-4.0.5/database/mysql/schema.sql
[root@docker-web-demo ~]# mysql -uzabbix -pzabbix zabbix < /opt/pkg/zabbix-4.0.5/database/mysql/images.sql
[root@docker-web-demo ~]# mysql -uzabbix -pzabbix zabbix < /opt/pkg/zabbix-4.0.5/database/mysql/data.sql
4)修改PHP的配置参数
[root@docker-web-demo zabbix-4.0.5]# vim /etc/php.ini
date.timezone= Asia/Shanghai
max_execution_time = 300
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 1
max_input_time = 300
5)移动zabbix项目到httpd目录中去
[root@docker-web-demo zabbix-4.0.5]# cp -r ./frontends/php/  /var/www/html/zabbix
[root@docker-web-demo zabbix-4.0.5]# ll /var/www/html/
总用量 4
drwxr-xr-x. 13 root root 4096 3月  12 16:16 zabbix
[root@docker-web-demo zabbix-4.0.5]# chown -R apache.apache /var/www/html/zabbix/
[root@docker-web-demo zabbix-4.0.5]# ll /var/www/html
总用量 4
drwxr-xr-x. 13 apache apache 4096 3月  12 16:16 zabbix
6)配置开机自启
[root@docker-web-demo zabbix-4.0.5]# cp misc/init.d/fedora/core/zabbix_* /etc/init.d/
[root@docker-web-demo zabbix-4.0.5]# chkconfig --add zabbix_server
[root@docker-web-demo zabbix-4.0.5]# chkconfig --add zabbix_agentd
[root@docker-web-demo zabbix-4.0.5]# chkconfig zabbix_server on
[root@docker-web-demo zabbix-4.0.5]# chkconfig zabbix_agentd on
[root@docker-web-demo zabbix-4.0.5]# systemctl restart zabbix_server

三、zabbix-agent编译安装

1)编译安装zabbbix Agent
[root@docker-web-demo zabbix-4.0.5]# ./configure --enable-agent
[root@docker-web-demo zabbix-4.0.5]# make -j 4 && make install
2)配置zabbix Agent
[root@docker-web-demo zabbix-4.0.5]# cat /op/zabbix/etc/zabbix_agentd.conf | grep -v ^$ | grep -v ^#
LogFile=/tmp/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
[root@docker-web-test zabbix-4.0.5]# cat /op/zabbix/etc/zabbix_server.conf | grep -v ^$ | grep -v ^#
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
Timeout=4
LogSlowQueries=3000

四、启动httpd服务和zabbix服务

[root@docker-web-demo zabbix-4.0.5]# systemctl start httpd
[root@docker-web-demo zabbix-4.0.5]# systemctl enable httpd
[root@docker-web-demo zabbix-4.0.5]# systemctl enable mysqld
[root@docker-web-demo zabbix-4.0.5]# /opt/zabbix/sbin/zabbix_server
[root@docker-web-demo zabbix-4.0.5]# /opt/zabbix/sbin/zabbix_agentd
                  (关闭命令:server zabbix_server stop)

检查http服务和zabbix是否正常启动

[root@docker-web-demo ~ ]# ps aux |grep http
[root@docker-web-demo ~ ]# ps aux |grep zabbix

五、Web登录

输入服务器IP+项目名称
eg:192.168.99.185/zabbix

点击下一步(Nest step)

输入密码zabbix点击下一步(配置数据库的密码)

直接点击下一步

直接点击下一步

点击下一步(如果出现下图错误,根据提示下载文件上传至指定目录即可)

上传文件至服务器指定目录中
eg:

回到web页面,点击Finish

安装成功(successfully)
输入用户名密码(默认用户为Admin,密码为zabbix)

初始页面

修改为中文
点击右上角头像位置

Language中选择Chinese,最后别忘了点击Update更新,此页面也可修改zabbix主题颜色等

OK!!!恭喜完成zabbix安装!!

发布了4 篇原创文章 · 获赞 0 · 访问量 185

猜你喜欢

转载自blog.csdn.net/weixin_43860781/article/details/103958401