zabbix搭建汇总

MySQL离线安装教程:https://www.cnblogs.com/liuguojun/p/12061093.html

PHP离线安装教程:https://www.cnblogs.com/liuguojun/p/12075611.html

zabbix理论知识:https://www.cnblogs.com/liuguojun/p/12075611.html

学习出自:https://blog.51cto.com/cloumn/blog/536

整个学习过程word文档:https://pan.baidu.com/s/1nWyUiPePuu8K1G2zuJlitA
提取码:fv1w

本文出于学习原因都在一个系统上搭建zabbix server、zabbix agent和zabbix GUI

一、 安装Nginx服务

1、下载Nginx的tar.gz包

下载地址:http://nginx.org/download/nginx-1.16.1.tar.gz

2、上传至Centos7服务器

3、解压文件

[root@localhost nginx]# tar -zxvf nginx-1.16.1.tar.gz

[root@localhost nginx]# rm nginx-1.16.1.tar.gz

[root@localhost nginx]# cd nginx-1.16.1/

[root@localhost nginx-1.16.1]# ./configure --user=www --group=www --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/usr/local/nginx/logs/error.log --http-log-path=/usr/local/nginx/logs/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-pcre

[root@localhost nginx-1.16.1]# make

[root@localhost nginx-1.16.1]# make install

4、配置lnmp环境

①修改nginx配置文件,添加php-fpm的整合配置,这里仅仅修改了与php-fpm整合的配置

[root@localhost conf]# vim /usr/local/nginx/conf/nginx.conf

内容如下:

        location ~ \.php$ {

            root           html;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;

            include        fastcgi_params;

②将配置文件中的几个参数修改:

error_log  /usr/local/nginx/logs/error.log;

error_log  /usr/local/nginx/logs/error.log  notice;

error_log  /usr/local/nginx/logs/error.log  info;

pid        /usr/local/nginx/logs/nginx.pid;

5、添加systemctl服务启动文件

[Unit]

Description=Nginx

After=syslog.target network.target

[Service]

Type=simple

PIDFile=/usr/local/nginx/logs/nginx.pid

ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

ExecReload=/usr/local/nginx/sbin/nginx -s stop -c /usr/local/nginx/conf/nginx.conf

ExecStop=/usr/local/nginx/sbin/nginx -s reload -c /usr/local/nginx/conf/nginx.conf

[Install]

WantedBy=multi-user.target

然后使用[root@localhost system]# systemctl daemon-reload重新加载配置文件。

6、测试nginx服务器

二、 安装Zabbix server

1、 安装依赖

[root@localhost ~]# yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libevent libevent-devel

2、创建一个普通用户用于启动Zabbix的守护进程

[root@localhost ~]# groupadd --system zabbix   #创建一个系统组

[root@localhost ~]# useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring system" Zabbix

注释:--system 创建一个系统账户 -g 指定用户所属组 -d 指定用户主目录 -s 指定用户登录shell -c 关于登录的描述(用户全名)

[root@localhost ~]# mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix

[root@localhost lib]# chown zabbix:zabbix /usr/lib/Zabbix

3、开始编译安装zabbix

归档解压:[root@localhost zabbix]# tar -zxvf zabbix-4.4.4.tar.gz

配置源:[root@localhost zabbix-4.4.4]# ./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --with-libxml2 --enable-ipv6

出错:configure: error: Unable to use libevent (libevent check failed)

这是因为本地源里面没有这个安装包,导致前面准备依赖的时候没有安装到,去网上下载个rpm包安装即可。

参数介绍:

--with-mysql:表示启用Mysql作为后端存储,如果Mysql客户端类库不在默认的位置(rpm包方式安装的Mysql,Mysql客户端类库在默认位置,因此只需指定“—with-mysql”即可,无需指定具体路径),需要在mysql的配置文件中指定路径,指定方法是指定mysql_config的路径,例如:如果源码安装的mysql,安装路径为/usr/local/mysql,就可以这么指定:“—with-mysql=/usr/local/mysql/bin/mysql_config”。

--with-net-snmp:用于支持snmp监控所需要的组件

--with-libcurl:用于支持wen监控,vmware监控及smtp认证所需要的组件,对于smtp认证,需要7.20.0或以上版本。

--with-libxml2:用于支持vmware监控所需要的组件

--enable-server:启用Zabbix server组件

--enable-agent:启用Zabbix agent组件

--enable-proxy:启用Zabbix proxy组件

编译:[root@localhost zabbix-4.4.4]# make

编译安装:[root@localhost zabbix-4.4.4]# make install

4、创建软链接

安装完成后:由于Zabbix启动脚本的默认指向是/usr/local/sbin路径,而我们Zabbix安装路径是/usr/local/zabbix,因此,需要提前创建如下软连接:

[root@localhost sbin]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/

[root@localhost sbin]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/

5、创建数据库和数据库用户,并导入zabbix表信息

对于Zabbix server和proxy守护进程以及Zabbix前端,都需要连接到一个数据库。Zabbix agent不需要数据库的支持。因此需要先创建一个用户和数据库,并导入数据库对应的表。

①登录数据库创建一个zabbix数据库和zabbix用户

[root@localhost ~]# mysql -u root -p

#Zabbix服务器需要字符集utf8和utf8_bin排序规则才能与MySQL数据库正常工作。

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> use zabbix;

mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';

mysql> quit

②接下来导入zabbix的表信息,需要执行三个sql文件,sql文件在Zabbix源码包中database/mysql目录下。

#进入这个目录(我的源码包放在/home目录下)

[root@localhost home]# cd /home/zabbix/zabbix-4.4.4/database/mysql/

#登录用户

[root@localhost mysql]# mysql -u zabbix -p

mysql> use zabbix;   #切换数据库

mysql> source schema.sql;    #导入第一个zabbix表

mysql> source images.sql;    #导入第二个zabbix表

mysql> source data.sql;     #导入第三个zabbix表

6、配置zabbix-server配置文件

[root@localhost mysql]# cd /usr/local/zabbix/etc   #注意路径(根据自己安装的目录)

[root@localhost etc]# cp -a zabbix_server.conf zabbix_server.conf.bak  #备份

[root@localhost etc]# vim zabbix_server.conf    #开始编辑配置文件

内容如下:

ListenPort=10051       #zabbix默认监听端口

LogFile=/tmp/zabbix_server.log     #指定zabbix日志存储位置

DBHost=localhost       #数据库地址(如果数据库在本机可不做修改)

DBName=Zabbix      #数据库名(前面创建的数据库)

DBUser=Zabbix       #用于连接数据库的用户名(前面创建的用户)

DBPassword=Zabbix      #连接数据库密码

ListenIP=0.0.0.0       #zabbix server监听的IP地址(也就是zabbix server启动的监听端口对那些IP开放,Agentd为主动模式时,这个值建议设置为0.0.0.0)

StartPollers=5     #zabbix server启动时,启动Pollers(主动收集数据进程)的数量,数量越多,服务器吞吐能力越强,同时对系统资源消耗越大

StartTrappers=10       #zabbix启动时,启动trappers(负责处理agentd推送过来的数据的进程)的数量。Agentd为主动模式时,zabbix server需要将这个值设置的大一些

StartDiscoverers=10     #zabbix server启动时启动Discoverers的数量,如果zabbix监控报Discoverers进程繁忙时,需要提高这个值

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts       #zabbix server运行脚本的存放位置,一些供zabbix server使用的脚本都可以放在这里

7、添加管理维护Zabbix脚本并启动服务

[root@localhost zabbix]# cp -a /home/zabbix/zabbix-4.4.4/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server

[root@localhost zabbix]# cp -a /home/zabbix/zabbix-4.4.4/misc/init.d/fedora/core/zabbix_ agentd /etc/init.d/zabbix_ agentd

添加脚本执行权限

[root@localhost init.d]# chmod +x zabbix_agentd

[root@localhost init.d]# chmod +x zabbix_server

添加开机启动

[root@localhost init.d]# chkconfig zabbix_server on

[root@localhost init.d]# chkconfig zabbix_agentd on

启动zabbix server服务

[root@localhost init.d]# ./zabbix_server start

一、 安装zabbix agent

这里使用rpm包安装zabbix agent,zabbix agent版本要和zabbix server保持一致

Zabbix agentZabbix agentd的区别,请看链接

下载地址:

https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-agent-4.4.4-1.el7.x86_64.rpm

① 安装zabbix agent

[root@localhost zabbix]# rpm -ivh zabbix-agent-4.4.4-1.el7.x86_64.rpm

② 修改配置文件

配置文件位于:/etc/zabbix/下

[root@localhost zabbix]# cd /etc/zabbix/

[root@localhost zabbix]# cp -a zabbix_agentd.conf zabbix_agentd.conf.bak

[root@localhost zabbix]# vim zabbix_agentd.conf

内容如下:

LogFile=/var/log/zabbix/zabbix_agentd.log      #zabbix agent日志文件路径

Server=127.0.0.1       #指定zabbix server服务器地址

StartAgents=3      #指定启动agentd进程数量,默认为3个(设置为0,表示关闭agentd的被动模式,这时Zabbix server主动来agent拉取数据)

ServerActive=127.0.0.1     #启用agentd的主动模式(zabbix agent主动推送数据到zabbix server),启用主动模式后,agentd将主动将收集的数据发送到zabbix server端,ServerActive后面指定的ip就是zabbix server端IP

Hostname=127.0.0.1     #需要监控的服务器的主机名或者IP地址,此选择的设置一定要和(服务器上配置的主机名)zabbix server(web)端主机配置对应的主机名一致

Include=/etc/zabbix/zabbix_agentd.d/*.conf     #相关配置都可以放在此目录下,自动生效

UnsafeUserParameters=1     #启用agent端自定义item功能,设置此参数为1后,就可以使用UserParameter指令(UserParameter用于自定义item)

③ 开启zabbix agent服务

三、 安装zabbix GUI

Zabbix web是php代码编写的,所以需要php环境(前面已经搭建了lnmp环境)。

我们只需要将zabbix web安装代码放至在nginx下运行安装即可。

Zabbix web安装代码在源码包的frontends/php/目录下

① 将源码复制到nginx/html下,并修改名为zabbix

[root@localhost frontends]# cp -a php /usr/local/nginx/html/zabbix  #注意nginx路径(根据你的安装路径修改)

② 开始安装zabbix GUI

[root@localhost frontends]# systemctl start php-fpm.service  #开启php-fpm服务

[root@localhost frontends]# systemctl status php-fpm  #查看php-fpm开启状态

[root@localhost frontends]# systemctl start mysql.server

[root@localhost frontends]# systemctl status mysql.service

[root@localhost frontends]# systemctl restart nginx.service

[root@localhost frontends]# systemctl status nginx.service

打开firefox浏览器输入地址:http://127.0.0.1/zabbix/setup.php

出现第一个界面

 

点击Next step

 

这里有一个错误,修改一下php配置文件

[root@localhost lib]# vim /usr/local/php/lib/php.ini

将date.timezone那行改为:date.timezone = Asia/Shanghai即可。

[root@localhost lib]# systemctl restart php-fpm.service  #重启服务

再刷新界面,然后点击Next step

 

选择数据库类型-数据库地址-数据库端口-数据库名-登录数据库用户-登录数据库用户密码

这里:数据库类型选(mysql)-数据库地址(默认mysql在本机的话就输入127.0.0.1,输入localhost可能出现问题)-数据库端口(0表示使用默认端口)-数据库名、数据库用户以及数据库密码(都是你在搭建zabbix server时创建的数据库、创建的用户以及设置的密码)

 

然后点击Next step

 

这个步骤是配置zabbix server信息,输入zabbix server主机名(IP),以及端口等信息

 

然后点击Next step

 

这一步是确认配置信息,确认无误否点击Next Step

 

出现此页面,安装完成,点击finish

 

跳转到登陆界面,默认的zabbix平台登录的用户名为Admin,密码为zabbix

 

到此为止,zabbix GUI安装完成。

③ 修改显示界面语言

默认为英文界面,设置成中文界面步骤:

Administrator-Users-点击Admin-在Language项中选择Chinese(zh_CN)即可。

猜你喜欢

转载自www.cnblogs.com/liuguojun/p/zabbix.html
今日推荐