33

zabbix详解之zabbix的安装

 5 years ago
source link: https://www.linuxprobe.com/zabbix-zabbix-install.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

由于ubuntu源里自带有zabbix ,可以直接通过apt-get的方式进行安装,所以这里就以centos6.5为例,介绍下zabbix的源码包编译安装的过程。

一、lamp环境安装

1、yum安装lamp

#yum -y update
#yum -y install
gcc gcc-c++ autoconf
httpd php mysql mysql-server php-mysql
httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring php-ldap
php-pear
php-xmlrpc
php-bcmath
mysql-connector-odbc
mysql-devel
libdbi-dbd-mysql
net-snmp-devel curl-devel
unixODBC-devel
OpenIPMI-devel
java-devel

2、修改php.ini
由于后面的安装时会对php.ini的相关参数进行检测,发现不满足时在页面上会报错,所以这里需要提前修改相关参数,其中需要修改的部分如下:

# vim /etc/php.ini
date.timezone = Asia/Shanghai
max_execution_time = 300
post_max_size = 32M
max_input_time=300
memory_limit = 128M
mbstring.func_overload = 2

也可以直接通过shell语句的方式进行修改,如下:

# sed -i "s/;date.timezone =/date.timezone = Asia/Shanghai/g" /etc/php.ini
# sed -i "s#max_execution_time = 30#max_execution_time = 300#g" /etc/php.ini
# sed -i "s#post_max_size = 8M#post_max_size = 32M#g" /etc/php.ini
# sed -i "s#max_input_time = 60#max_input_time = 300#g" /etc/php.ini
# sed -i "s#memory_limit = 128M#memory_limit = 128M#g" /etc/php.ini
# sed -i "/;mbstring.func_overload = 0/ambstring.func_overload = 2n" /etc/php.ini
二、zabbix的安装

1、安装zabbix编译时所需的依赖包

# yum -y install curl curl-devel pcre pcre-devel libssh2-devel openldap-devel

2、zabbix的下载安装
到zabbix的下官方下载页面下载取新的stable版本 ,目前的最新版本为2.2.3

# wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.3/zabbix-2.2.3.tar.gz
# tar zxvf zabbix-2.2.3.tar.gz

3、编译安装

# useradd zabbix
# ./configure --prefix=/usr
--sysconfdir=/etc/zabbix
--enable-server --enable-proxy
--enable-agent
--enable-ipv6 --with-mysql=/usr/bin/mysql_config --with-net-snmp
--with-libcurl
--with-openipmi
--with-unixodbc
--with-ldap
--with-ssh2
--enable-java
# make install
注:

a、如果你只是想安装一个服务端,只需开启--enable-server 即可,其他参数可以不用选,但这里是为了后面的各项功能都可以使用,所以开启了非常多的参数 。

b、通常在需要进行自动化处理的环境中,一般需要统一批量主机的用户名的ID值 ,可以通过

groupadd  -g 201 zabbix ;useradd -g zabbix -u 201 -m zabbix 

的方式新增用户 。

4、增加services配置

编辑/etc/services配置文件,新增下面部分:

# vim /etc/services
zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-trapper 10051/tcp #Zabbix Trapper
zabbix-trapper 10051/udp #Zabbix Trapper
三、mysql 数据配置

配置mysql默认开机启动,并启动mysql服务:

# chkconfig mysqld on
# services mysqld start

修改mysql root密码,并登录测试:

# mysqladmin -uroot password 123456
# mysql -uroot -p123456

创建zabbix使用的数据库,并配置用户名密码:

mysql> create database zabbix character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

这里新建了一个用户名密码都为zabbix的账号 ,完成后记得使用zabbix -uzabbix -pzabbix 测试是否可以正常进行连接。

进入zabbix源码包解压目录,导入mysql数据:

[root@localhost zabbix-2.2.3]# mysql -uzabbix -pzabbix zabbix < ./database/mysql/schema.sql
[root@localhost zabbix-2.2.3]# mysql -uzabbix -pzabbix zabbix < ./database/mysql/images.sql
[root@localhost zabbix-2.2.3]# mysql -uzabbix -pzabbix zabbix < ./database/mysql/data.sql
四、zabbix启动脚本及conf配置

1、配置zabbix启动脚本,并设置为开机自启动

# cp misc/init.d/fedora/core/zabbix_* /etc/init.d/
# chmod 755 /etc/init.d/zabbix_*
# sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/#g" /etc/init.d/zabbix_server
# sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/#g" /etc/init.d/zabbix_agentd
//设置开机自启动
# chkconfig zabbix_server on
# chkconfig zabbix_agentd on

2、zabbix_server.conf服务端配置

修改/etc/zabbix/zabbix_server.conf 配置文件,修改后配置文件结果类似如下:

# egrep -v "(#|^$)" /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
//以下部分为可选项,可以使用默认值即可
DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306
StartPollers=160
StartTrappers=20
StartPingers=100
StartDiscoverers=120
MaxHousekeeperDelete=5000
CacheSize=1024M
StartDBSyncers=16
HistoryCacheSize=1024M
TrendCacheSize=1024M
HistoryTextCacheSize=512M
AlertScriptsPath=/etc/zabbix/alertscripts
LogSlowQueries=1000

3、zabbix_agentd.conf

需要注意的是在/etc/zabbix/目录下会有一个zabbix_agent.conf和一个zabbix_agentd.conf ,这里使用的是带 d 的配置文件,两都的区别是:zabbix_agent.conf是用超级服务(xinetd)的方式来启动的,zabbix_agentd.conf是以独立进程的方式来启动的 。

# egrep -v "(#|^$)" /etc/zabbix/zabbix_agentd.conf
LogFile=/var/log/zabbix/zabbix_agentd.log
EnableRemoteCommands=0
Server=127.0.0.1,192.168.1.100
StartAgents=8
ServerActive=192.168.1.100:10051
Hostname=test1
Timeout=30
Include=/etc/zabbix/zabbix_agentd.conf.d/
UnsafeUserParameters=1

工作模式:
Server 是采用被动工作模式,允许访问的 ip 地址,server 端获取数据 。
ServerActive 是采用主动工作模式,将数据上传到哪台服务器,需要填写 server 的端口,默认是 10051语法是 “ip1,ip2 ”,可以填写多个 server 端,中间用逗号隔开。
UnsafeUserParameters 的值表示是否启用自定义脚本,默认是0表示不启用。

4、启动服务

完成以上配置后,通过以下命令启动服务:

# service zabbix_server start
# service zabbix_agentd start
五、zabbix frontends前端配置

1、复制frontend页面文件

# cp -r ./frontends/php/ /var/www/html/zabbix
# chown -R apache.apache /var/www/html/zabbix
# service httpd start

2、配置apache 虚拟主机

ServerAdmin [email protected]
DocumentRoot /var/www/html/zabbix
ServerName zabbix.361way.com
ErrorLog logs/dummy-zabbix.361way.com-error_log
CustomLog logs/dummy-zabbix.361way.com-access_log common

3、zabbix.conf.php配置文件的生成

在浏览器中输入上面配置的虚拟主机名,进入zabbix_frontend配置安装界面,如下:

上图中如果不按第一步中lamp的安装中修改/etc/php.ini的参数,这里会出现红色告警。

以上为zabbix 的数据库配置部分。

此处建议使用主机名,因为IP地址可能会更改,而主机名更改的机率要小 。使用主机名的话,IP地址更改对参数也不会有影响 。

此处可能会遇到无法创建文件的问题,该问题是由于没有写权限造成的。可以通过下面的命令解决:

# chown -R apache.apache /var/www/html/zabbix

按finish完成安后,默认登录的用户名是admin,密码是zabbix  。

六、selinux防火墙问题

进入web页面登录后,发现报错内容如下:

Zabbix server is not running:the information displayed may not be cuurrent .

解决方法:vim /etc/sysconfig/selinux修改里面的selinux=disabled后,重启服务器后解决。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK