Zabbix:是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
1、依赖包安装
<code>[root@one ~]# cd /home/package/
[root@one package]# yum install -y libevent-devel wget tar gcc gcc-c++ make net-snmp-devel libxml2-devel libcurl-devel
[root@one package]# /<code>
最后结果如下图:
2、软件包下载
可以前往官网:https://www.zabbix.com/ 自行按需下载
或者直接使用如下命令下载,推荐直接使用如下命令进行操作:
<code>[root@one package]# wget 'https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz'/<code>
其中 zabbix-4.0.3.tar.gz 就是我们刚下载的 zabbix 程序
<code>[root@one package]# rm -rf php-5.6.40
[root@one package]# ls
mysql57-community-release-el7-8.noarch.rpm nginx-1.14.2.tar.gz php-5.6.40.tar.gz zabbix-4.0.3.tar.gz
[root@one package]# /<code>
3、初始准备
新建一个zabbix用户,并指定其不可登录系统
<code>[root@one package]# useradd -s /sbin/nologin zabbix
[root@one package]# mkdir -pv /home/zabbix
[root@one package]# /<code>
4、编译安装
<code>[root@one package]# tar xf zabbix-4.0.3.tar.gz
[root@one package]# cd zabbix-4.0.3
[root@one zabbix-4.0.3]# ls
aclocal.m4 bin ChangeLog conf config.sub configure.ac database frontends INSTALL m4 Makefile.in misc NEWS sass
AUTHORS build compile config.guess configure COPYING depcomp include install-sh Makefile.am man missing README src
[root@one zabbix-4.0.3]# ./configure --prefix=/home/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2/<code>
编译之后发现最后报错了,如图所示:
解决一下:
<code>[root@one zabbix-4.0.3]# yum install mysql-devel -y/<code>
而后重新进行编译安装:
<code>[root@one zabbix-4.0.3]# ./configure --prefix=/home/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2/<code>
如下显示,即表示编译成功
此时我们安装即可:
<code>[root@one zabbix-4.0.3]# make && make install/<code>
界面如下,显示安装成功:
编译参数说明:
<code>--prefix指定安装目录
--enable-server安装zabbix server
--enable-agent安装zabbix agent
--with-mysql用mysql来存储/<code>
5、设置环境变量,查看 zabbix 版本
<code>echo "PATH=$PATH:/home/zabbix/sbin/:/home/zabbix/bin/" >> /etc/profile/<code>
6、初始化mysql
首先要登录mysql,使用root用户:
<code>[root@one zabbix]# mysql -uroot -pNihaowohao@123456/<code>
新建数据库:
<code>mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> /<code>
<code>mysql> grant all privileges on *.* to huaxin@'%' identified by 'Nihao@123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)/<code>
进入zabbix数据库,开始数据初始化:
<code>mysql> use zabbix;
Database changed
mysql> source /home/package/zabbix-4.0.3/database/mysql/schema.sql;
mysql> source /home/package/zabbix-4.0.3/database/mysql/data.sql;
mysql> source /home/package/zabbix-4.0.3/database/mysql/images.sql;/<code>
每次执行一次 source 的时候都会显示如下图:
如果报错 “ERRO” 请检查初始化sql的位置是不是没有写对;
而后退出 mysql :
<code>mysql> exit
Bye
[root@one zabbix]# /<code>
7、配置zabbix_server
<code>[root@one zabbix]# cp etc/zabbix_server.conf etc/zabbix_server.conf_back
[root@one zabbix]# vim etc/zabbix_server.conf
# 将原本内容全部删除,添加以下信息
LogFile=/home/zabbix/zabbix_server.log
DBHost=127.0.0.1
DBName=zabbix
DBUser=huaxin
DBPassword=Nihao@123456
DBPort=3316
Timeout=30
AlertScriptsPath=/home/zabbix/share/zabbix/alertscripts
ExternalScripts=/home/zabbix/share/zabbix/externalscripts
LogSlowQueries=3000
# 保存退出 :wq
[root@one zabbix]# /<code>
配置修改之后截图如下:
配置文件参数释义:
<code>LogFile # 日志存放位置
DBHost # 数据库IP地址
DBName # 数据库名字
DBUser # 数据库用户名
DBPassword # 数据库密码
DBPort # 数据库端口号
Timeout # 链接超时时间
AlertScriptsPath # 固定脚本位置
ExternalScripts # 固定脚本位置
LogSlowQueries # 超过设置时长的数据库慢查询将被会记录/<code>
8、启动zabbix
<code>[root@one zabbix]# chown -R zabbix:zabbix /home/zabbix/
[root@one zabbix]# zabbix_server
[root@one zabbix]# /<code>
9、确认是否启动成功
进程:
<code>[root@one zabbix]# ps -ef | grep zabbix
root 14857 33635 0 15:57 pts/0 00:00:00 grep --color=auto zabbix
[root@one zabbix]#/<code>
发现没有启动成功,那么我们看下 zabbix 日志,根据报错排错:
<code>[root@one zabbix]# tail -f zabbix_server.log
14818:20200320:155652.880 Jabber notifications: NO
14818:20200320:155652.880 Ez Texting notifications: YES
14818:20200320:155652.880 ODBC: NO
14818:20200320:155652.880 SSH2 support: NO
14818:20200320:155652.880 IPv6 support: NO
14818:20200320:155652.880 TLS support: NO
14818:20200320:155652.880 ******************************
14818:20200320:155652.880 using configuration file: /home/zabbix/etc/zabbix_server.conf
14818:20200320:155652.910 [Z3001] connection to database 'zabbix' failed: [1044] Access denied for user 'huaxin'@'localhost' to database 'zabbix'
14818:20200320:155652.910 Cannot connect to the database. Exiting.../<code>
从日志中看出,是我们的数据库用户权限设置不对,我们登录数据库进行更改:
<code>[root@one zabbix]# mysql -uroot -p
Enter password:
mysql> grant all privileges on *.* to huaxin@localhost identified by "Nihao@123456";
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
[root@one zabbix]#/<code>
10、再次尝试启动zabbix服务
<code>[root@one zabbix]# zabbix_server/<code>
11、再次验证是否启动成功
进程:
<code>[root@one zabbix]# ps -ef | grep zabbix_server
# 会出现很多信息,就不一一复制了/<code>
端口号:
<code>[root@one zabbix]# netstat -tunlp | grep 10051
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 15551/zabbix_server
[root@one zabbix]# /<code>
表示我们zabbix服务启动成功了;
12、配置 zabbix_web 端
即可以从浏览器进行访问
需要配置nginx
<code>[root@one zabbix]# mkdir -pv /home/nginx/html/zabbix
mkdir: 已创建目录 "/home/nginx/html/zabbix"
[root@one zabbix]# cp -a /home/package/zabbix-4.0.3/frontends/php/* /home/nginx/html/zabbix//<code>
重新加载nginx
<code>[root@one zabbix]# nginx -s reload
[root@one zabbix]# /<code>
13、使用浏览器访问 zabbix_web 界面
输入地址:http://192.168.20.128:8010/zabbix/setup.php
PS:IP地址需要些自己实际IP地址
14、界面配置
点击右下角的 “Next setp”
可以看到有很多报错,接下来我们一一进行解决:
修改 php 的配置文件,将几个参数修改成如下所示
<code>[root@one zabbix]# vim /home/PHP/etc/php.ini
post_max_size = 32M
max_execution_time = 350
max_input_time = 350
date.timezone = Asia/Shanghai
always_populate_raw_post_data = -1/<code>
重启 php-fpm
<code>[root@one zabbix]# ps -ef | grep php-fpm
root 17349 37720 0 16:43 pts/1 00:00:00 grep --color=auto php-fpm
root 128300 1 0 14:28 ? 00:00:00 php-fpm: master process (/home/PHP/etc/php-fpm.conf)
nobody 128301 128300 0 14:28 ? 00:00:00 php-fpm: pool www
nobody 128302 128300 0 14:28 ? 00:00:00 php-fpm: pool www
root@one zabbix]# kill -9 128300
[root@one zabbix]# kill -9 128301
[root@one zabbix]# kill -9 128302
[root@one zabbix]# ps -ef | grep php-fpm
root 17390 37720 0 16:44 pts/1 00:00:00 grep --color=auto php-fpm
[root@one zabbix]#
[root@one zabbix]# /home/PHP/sbin/php-fpm
[root@one zabbix]# ps -ef | grep php-fpm
root 17401 1 0 16:44 ? 00:00:00 php-fpm: master process (/home/PHP/etc/php-fpm.conf)
nobody 17402 17401 0 16:44 ? 00:00:00 php-fpm: pool www
nobody 17403 17401 0 16:44 ? 00:00:00 php-fpm: pool www
root 17410 37720 0 16:44 pts/1 00:00:00 grep --color=auto php-fpm
[root@one zabbix]#
/<code>
重新加载nginx
<code>[root@one zabbix]# nginx -s reload
[root@one zabbix]/<code>
再次使用浏览器进行登录:
这个时候我们就会发现已经全部显示 “OK” ,此时我们再次点击右下角的 “Next step”
这里主要配置数据库信息,我们根据信息进行填写即可
而后再次点击右下角的 “Next step”:
这里让输入 zabbix_server 的IP地址、端口号以及自定义一个名字;
而后再次点击右下角的 “Next step”:
这里是让你核对之前配置的信息是否正确
如果不正确可以点击右下角的 “Back” 按钮,如果确认无误可以直接点击右下角的 “Next step” 按钮;
出现此界面就表示你的 zabbix_server 已经安装成功了
上面的图中提示你:“祝贺你!您已成功安装Zabbix前端。创建了配置文件“/home/nginx/html/zabbix/conf/zabbix.conf.php”。”
最后一次点击右下角的 “Finish” 按钮,我们就进入了登录界面了;
在这里我们输入默认的用户名和密码:
用户名:Admin
密码:zabbix
而后点击 “Sign in” 按钮,就进入系统了
至此,恭喜你,你的 zabbix_server 就算部署完成了,下一节开始进行基础操作,继续加油哦~
閱讀更多 花芯 的文章