03 Mar 2015
简介
一个流行的电脑系统和网络监控程序,它检测主机和服务,当异常发生和解除时能提醒用户。它是基于GPLv2开发的开源软件,可免费获得及使用。
试验环境
server端安装nagios
wget http://softlayer-sng.dl.sourceforge.net/project/nagios/nagios-4.x/nagios-4.0.8/nagios-4.0.8.tar.gz tar zxvf nagios-4.0.8.tar.gz useradd -m nagios passwd nagios usermod -a -G nagcmd nagios
# 安装epel源 yum install -y epel-release # 安装web服务器、mysql数据库、php及相关程序包 yum install -y httpd mysql mysql-libs php php-mysql mysql-server php-bcmath php-gd php-mbstring # 安装zabbix服务端软件 yum install -y zabbix20 zabbix20-agent zabbix20-server zabbix20-server-mysql zabbix20-web zabbix20-web-mysql net-snmp-devel
# 启动下面四个服务(httpd、mysql、zabbix-agent、zabbix-server) service mysqld start service httpd start service zabbix-server start service zabbix-agent start # 相关端口 netstat -lnp | grep -E '80|3306|1005' tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 30226/zabbix_agentd tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1334/mysqld tcp 0 0 :::10050 :::* LISTEN 30226/zabbix_agentd tcp 0 0 :::80 :::* LISTEN 30167/httpd
# mysql为zabbix开账户 mysql -u root # 用空密码进入mysql并设置root密码 ************************************************************************* mysql> update mysql.user set password=PASSWORD('yourpassword') where user='root'; mysql> flush privileges; ************************************************************************* # 也可以用mysql初始化后提示的方法 # mysqladmin -u root password 'your password' # 创建zabbix数据库 mysql -uroot -p -e "create database zabbix" # 导入zabbix官方文档的数据库数据 mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/schema.sql mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/images.sql mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/data.sql # 创建zabbix用户 mysql -uroot -p -e "grant all on zabbix.* to 'zabbix'@'localhost' identified by 'your_passwd'"
用浏览器通过访问”http://ip/zabbix”安装,提示修改timezone

修改timezone vi /etc/php.ini
date.timezone = “Asia/Shanghai”
点击”next”前进到第二步检查安装需求

修改”/etc/php.ini”相关项目以符合zabbix需求
apachectl -t
Syntax OK
apachectl graceful
然后点击retry

输入相关mysql信息,用root用户登录,端口用默认,数据库选择zabbix,填写完成后记得test一下

host填写127.0.0.1

接下来是输入信息的汇总展示

最后是安装完成,并提示你安装过程的配置文件是在”/etc/zabbix/web/zabbix.conf.php”

登录界面,用默认的admin:zabbix登录

登录后提示”zabbix server is not running”,编辑/etc/zabbix/zabbix_server.conf
vim /etc/zabbix/zabbix_server.conf *********************************************************** DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=your_password *********************************************************** service zabbix-server restart service zabbix-agent restart
之后会看到zabbix已正常启动

至此zabbix安装过程全部完毕
安装时使用错了数据库用户,又不知道如何去更改,索性重新删掉数据库来重建,导入数据库时提示某个表以存在,还会列出行数;
mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/schema.sql Enter password: ERROR 1050 (42S01) at line 1233: Table 'images' already exists
解决办法:
# 按提示打开该数据库导入的文件,并在它之前做个表存在即删除的语句 vi /usr/share/zabbix-mysql/schema.sql ************************************************************* DROP TABLE IF EXISTS `autoreg_host`; #此句意为,存在即删除 CREATE TABLE `images` ( `imageid` bigint unsigned NOT NULL, `imagetype` integer DEFAULT '0' NOT NULL, `name` varchar(64) DEFAULT '0' NOT NULL, `image` longblob NOT NULL, PRIMARY KEY (imageid) ) ENGINE=InnoDB; *************************************************************
重要提醒:重建zabbix数据库时最好将相关程序(zabbix-agent\zabbix-server)关闭
注意:要修改连接数据库用户很简单,直接去安装过程提示的配置文件中修改重启server服务即可
vim /etc/zabbix/web/zabbix.conf.php service zabbix-server restart