Menu Close

Zabbix安装及详细配置

mysql安装配置

准备工作server端安装:#yum install mysql-server -y

  编辑#vim /etc/my.cnf在文件中机上一下两行:

   skip_name_resolve = ON    禁止主机名解析

   innodb_file_per_table = ON  启用innodb存储引擎

启动服务#systemctl start mariadb.service

开机自启动#systemctl enable mariadb.service

安装启动数据库后先初始化数据库#mysql_secure_installation

进入数据库# mysql

创建一个数据库名称为 zabbix 字符集为utf8

     MariaDB [(none)]> CREATE DATABASE zabbix CHARSET ‘utf8’;  很重要,没有设置无能就无法连接数据库

创建授权一个用户可以远程连接这个数据下面的表拥有所有权限。

MariaDB [(none)]> GRANT ALL ON zabbix.* TO ‘zbxuser’@’192.168.%.%’ IDENTIFIED BY ‘123456’;

授权本地用户

MariaDB [(none)]> GRANT ALL ON zabbix.* TO ‘zbxuser’@’localhost’ IDENTIFIED BY ‘123456’;

刷新MySQL的系统权限相关表

FLUSH PRIVILEGES;

检验是否能数据库:mysql -uzbxuser -h192.168.211.158 -p

安装zabbix

[root@lmj /]#yum install zabbix30.x86_64 zabbix30-server.noarch zabbix30-server-mysql.x86_64 -y

    使用命令查看zabbix安装# rpm -ql zabbix30-server

在版本3.0.2之前的版本在安装了通用组件zabbix30.x86_64,服务段组件zabbix30-server.noarch,数据库驱动zabbix30-server-mysql.x86_64 后需要在创建好的数据库中导入MySQL脚本

查看已安装的的组件中是否有create.sql.gz解压的MySQL脚本文件。

    如果没有可以查找本机中# ls -l /usr/share/zabbix-mysql/中是否有schema.sql.images.sql.data.sql如果有可以依次倒入这三个脚本,记住顺序依次倒入,顺序错误也将导入不成功。

导入mysql脚本例如:

 # mysql -uzbxuser -h192.168.211.158 -p123456 zabbix < /usr/share/zabbix-mysql/schema.sql

 # mysql -uzbxuser -h192.168.211.158 -p123456 zabbix < /usr/share/zabbix-mysql/images.sql

 # mysql -uzbxuser -h192.168.211.158 -p123456 zabbix < /usr/share/zabbix-mysql/data.sql

注意:zabbix2.0的版本的mysql脚本可能只有一个yum安装的路径可能在如:usr/share/doc/zabbix-server-mysql-3.0.2/create.sql.gz解压后导入。

进入数据库:

 # mysql -uzbxuser -h192.168.211.158 -p123456

进入库查看导入的表:

 # MariaDB [(none)]> use zabbix;进入数据库

 # MariaDB [zabbix]> show tables;  显示表

 # MariaDB [zabbix]> desc users;  显示表内容

进入/etc/zabbix目录下复制备份配置文件后再编辑配置文件。

备份配置文件[root@lmj]cp /etc/zabbix]#cp zabbix_server.conf{,.bak}

以下为通用配置项:

配置文件的重要几个参数:

ListenPort=10051  zabbix监控的默认端口;

SourceIP=   原IP,如果本机有多个地址就用来指定用哪个地址来监听,如果只有一个地址就保持默认。

LogFile=/var/log/zabbixsrv/zabbix_server.log  zabbix的日志文件记录,其中的LogFileSize=0参数是表示日志禁止滚动记录。

DebugLevel=3  定义日志的详细级别。

DBHost=localhost  指明本地主机的,不是本地主机就需要指明远程主机。

DBName=zabbix  指明连接数据库的名称

DBUser=zabbix  指明用于连接数据库的用户

DBPassword=    指明用户连接数据库用户的密码

在启动zabbix-server之前还需要最后检查下[root@lmj /etc/zabbix]#yum info trousers这个包,zabbix是要求这个包是要大于0.3.12的版本,不然启动会有问题。

注意:zabbix-server服务启动后会监听默认端口10051,如未服务可正常启动而端口未监听需要查看日志看看是否是数据库没有访问权限或是/var/lib/mysql/mysql.sock的问题。

安装web相关的包

[root@lmj /]#yum install zabbix30-web.noarch zabbix30-web-mysql.noarch -y

查看zabbix30-web安装的文件

[root@lmj /]#rpm -ql zabbix30-web|less

[root@lmj /]#vim /etc/httpd/conf.d/zabbix.conf

修改时区为php_value date.timezone Asia/Shanghai

启动web服务

[root@lmj /]#systemctl start httpd.service

[root@lmj /]#ss -tnl

浏览器输入访问http://192.168.211.158/zabbix

继续下一步输入mysql的数据库、账号、密码  

安装完成后生成的文件Configuration file “/etc/zabbix/web/zabbix.conf.php” created.

如果前期安装过程中参数填写错误后期可以在此配置文件内修改。

默认账号密码:Admin  zabbix

zabbix-agent 客户端安装:

yum install zabbix30.x86_64 zabbix30-agent.x86_64 -y

查看安装文件

[root@localhost /]# rpm -ql zabbix30-agent

查看配置文件

复制备份配置文件

[root@localhost /]# cp /etc/zabbix/zabbix_agentd.conf{,.back}

过滤查看文件的主要配置项

[root@localhost zabbix]# grep -i “^####” /etc/zabbix/zabbix_agentd.conf

############ GENERAL PARAMETERS #################

 ##### Passive checks related  被动监控相关配置

 ##### Active checks related     主动监控相关配置

 ############ ADVANCED PARAMETERS #################

 ####### USER-DEFINED MONITORED PARAMETERS #######

 ####### LOADABLE MODULES #######

 ####### TLS-RELATED PARAMETERS #####

更改配置文件(更改基本的三项)

[root@localhost /]# vim /etc/zabbix/zabbix_agentd.conf

Server=192.168.211.158

ServerActive=192.168.211.158

Hostname=localhosts

启动服务[root@localhost /]# systemctl status zabbix-agent.service

验证端口是否监听

验证服务

浏览器输入访问http://192.168.211.158/zabbix配置zabbix监控主机。

我们在选择所要监控指标的“Key”时也可以在zabbix服务端通过命令zabbix_get来监测是否能通过此”Key”获取到想要的数据

[root@lmj ~]#zabbix_get -h 查看zabbix-get命令的用法

[root@lmj ~]# zabbix_get -s 192.168.211.180  -k “system.cpu.switches” 检验此”Key“是否能获取到数据

下图是配置监控主机网络网卡ens33接收的包,注意但是图中“Key”写的时发出的包,截图为更改。

同样我们可以在server端使用zabbix-get测试,[root@lmj ~]# zabbix_get -s 192.168.211.180  -k “net.if.in[ens33,packets]”

定义触发器;

定义触发器动作:

定义动作:

发表回复