zabbix详解之zabbix的安装
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的源码包编译安装的过程。
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
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服务:
# 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
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
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 。
进入web页面登录后,发现报错内容如下:
Zabbix server is not running:the information displayed may not be cuurrent .
解决方法:vim /etc/sysconfig/selinux修改里面的selinux=disabled后,重启服务器后解决。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK