免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 52897 | 回复: 23
打印 上一主题 下一主题

网络监控软件Zabbix详细安装步骤(原创) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-14 15:01 |只看该作者 |倒序浏览
Zabbix是一套较为成熟的服务器监控软件


1.创建ZABBIX的系统账号
为了安全起见建议创建使用zabbix用户运行ZABBIX.
useradd zabbix
2.解压:
tar xvzf zabbix-1.1beta12.tar.gz
3.创建 ZABBIX 数据库
mysql -u test -p
>create database zabbix;
>quit;
/* 1.1.6 cd create/mysql
cat schema.sql |mysql -u root -p zabbix
cd ../data
cat data.sql |mysql -u root -p zabbix */
1.4.1
cd create/schema
cat schema.sql |mysql -u root -p zabbix
cd ../data
cat data.sql |mysql -u root -p zabbix
cat images_mysql.sql |mysql -u root -p zabbix

4.编译:
服务器端+客户端的编译:
./configure --with-mysql --with-net-snmp --enable-server --enable-agent --prefix=/usr/local/zabbix
客户端只需执行:
./configure --prefix=/usr/local/zabbix --enable-agent
make
make install
cd /usr/local/zabbix/bin
for i in * ; do ln -s /usr/local/zabbix/bin/$i /usr/bin/$i ; done

5.配置:
(1).vi /etc/services
该文件是zabbix建议操作,可忽略:
加入:
zabbix_agent 10050/tcp
zabbix_trap 10051/tcp
(2) WEB interface
回到zabbix的编译目录,
vi frontends/php/include/db.inc.php
更改数据库相关内容:
$DB_TYPE ="MYSQL";
$DB_SERVER ="localhost";
$DB_DATABASE ="zabbix";
$DB_USER ="root";
$DB_PWD ="";
cp -rf frontends/php /usr/local/www/html/zabbix -R
chown zabbix /usr/local/www/html/zabbix/ -R
(3) 生成配置文件:
mkdir /etc/zabbix
cp misc/conf/* /etc/zabbix/
配置相关内容(以下内容请根据大家具体服务器的IP/MYSQL的账号情况做相应修改):
zabbix_agent.conf
grep -v '^#' zabbix_agent.conf |grep -v '^$'
Server=10.5.21.46
Timeout=3
UserParameter=mysql.ping,/usr/local/mysql/bin/mysqladmin -uroot -p ping|grep alive|wc -l
UserParameter=mysql.uptime,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f2 -d":"|cut -f1 -d"T"
UserParameter=mysql.threads,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f3 -d":"|cut -f1 -d"Q"
UserParameter=mysql.questions,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f4 -d":"|cut -f1 -d"S"
UserParameter=mysql.slowqueries,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f5 -d":"|cut -f1 -d"O"
UserParameter=mysql.qps,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f9 -d":"
UserParameter=mysql.version,/usr/local/mysql/bin/mysql -V

zabbix_agentd.conf
grep -v '^#' zabbix_agentd.conf |grep -v '^$'
Server=10.5.21.46
Hostname=localhost
ListenPort=10050
ListenIP=10.5.21.46
StartAgents=5
RefreshActiveChecks=120
DisableActive=1
DebugLevel=3
PidFile=/var/tmp/zabbix_agentd.pid
LogFile=/var/log/zabbix_agentd.log
Timeout=3
UserParameter=mysql.ping,/usr/local/mysql/bin/mysqladmin -uroot -p ping|grep alive|wc -l
UserParameter=mysql.uptime,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f2 -d":"|cut -f1 -d"T"
UserParameter=mysql.threads,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f3 -d":"|cut -f1 -d"Q"
UserParameter=mysql.questions,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f4 -d":"|cut -f1 -d"S"
UserParameter=mysql.slowqueries,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f5 -d":"|cut -f1 -d"O"
UserParameter=mysql.qps,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f9 -d":"
UserParameter=mysql.version,/usr/local/mysql/bin/mysql -V

zabbix_server.conf
grep -v '^#' zabbix_server.conf |grep -v '^$'
Server=1
StartPollers=6
StartTrappers=5
ListenPort=10051
HousekeepingFrequency=1
SenderFrequency=30
DebugLevel=3
Timeout=5
UnreachablePeriod=45
UnavailableDelay=15
UnavailableDelay=60
PidFile=/var/tmp/zabbix_server.pid
LogFile=/var/log/zabbix_server.log
AlertScriptsPath=/home/zabbix/bin/
PingerFrequency=30
DBHost=localhost
DBName=zabbix
DBUser=root
DBPassword=
DBSocket=/usr/local/mysql/data/mysql.sock
zabbix_trapper.conf
grep -v '^#' zabbix_trapper.conf |grep -v '^$'
DebugLevel=2
Timeout=3
LogFile=/var/log/zabbix_trapper.log
DBHost=localhost
DBName=zabbix
DBUser=root
DBPassword=
DBSocket=/usr/local/mysql/data/mysql.sock
(4). 生成启动脚本
cp misc/init.d/redhat/zabbix_* /usr/local/zabbix/bin/
编辑zabbix_agentd_ctl 和 zabbix_suckerd_ctl
BASEDIR=/usr/local/zabbix 为指定的zabbix安装目录.
zabbix_suckerd_ctl文件中的
ZABBIX_SUCKERD=$BASEDIR/bin/zabbix_suckerd可能因为版本关系应该改为
ZABBIX_SUCKERD=$BASEDIR/bin/zabbix_server
6.启动服务:
服务器端
/usr/local/zabbix/bin/zabbix_suckerd_ctl start
客户端
/usr/local/zabbix/bin/zabbix_agentd_ctl start
7.
--mysql
tar zxvf mysql-5.0.37.tar.gz
cd mysql-5.0.37
more INSTALL-SOURCE
groupadd mysql
useradd -g mysql mysql
passwd mysql
./configure --prefix=/usr/local/mysql --with-charset=gbk --with-extra-charsets=gb2312,latin1,utf8 --enable-largefile --with-big-tables --localstatedir=/usr/local/mysql/data --without-debug --with-max-indexes=64 --without-ndbcluster
make
make install
cp support-files/my-medium.cnf /etc/my.cnf
cp /root/mysql-5.0.37/support-files/mysql.server /usr/local/mysql/mysql
chmod +x /usr/local/mysql/mysql
cd /usr/local/mysql
bin/mysql_install_db --user=mysql
chown -R root  .
chown -R mysql .
chgrp -R mysql .
chown mysql.mysql -R data
bin/mysqld_safe --user=mysql &
./bin/mysqladmin -u root password ***** (密码)
/usr/local/mysql/mysql restart
/usr/local/mysql/bin/mysql -uroot -p **** (密码)   登入mysql控制台看看是不是正常了

--apache
emerge gd
emerge jpeg
emerge zlib
emerge libpng
emerge freetype
tar zxvf httpd-2.2.4.tar.gz
cd httpd-2.2.4
./configure --prefix=/usr/local/httpd --enable-so --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr -with-zlib-dir=/usr --with-freetype-dir=/usr
make
make install
/usr/local/httpd/bin/apachectl start 如果没起来,看看日志:more /usr/local/httpd/logs/error_log,可能是这台机器80端口被别的程序(如resin)占用了,修改一下配置文件:
vi /usr/local/httpd/conf/httpd.conf
  Listen 192.168.1.212:88
  修改一下#ServerName www.example.com:88 为ServerName www.test.com:80
/usr/local/httpd/bin/apachectl restart  试试,应该就能访问了: http://192.168.1.212/ 能出来 It works! 的页面了
cd..
--php
emerge dev-libs/libxml
emerge dev-libs/libxml2  //如果没装libxml,则编译会出现configure: error: xml2-config not found.
tar zxvf php-5.2.1.tar.gz
cd php-5.2.1
./configure --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql-dir=/usr/local/mysql --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr -with-zlib-dir=/usr --with-freetype-dir=/usr

make
make install
cp php.ini-dist /usr/local/lib/php.ini
vi /usr/local/httpd/conf/httpd.conf  手动添加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps   
        #这两行是让apache知道php的文件类型
DirectoryIndex index.html       改成DirectoryIndex index.html index.php  ,让apache默认的首页也支持index.php
echo '/usr/local/mysql/lib/mysql'>>/etc/ld.so.conf
ldconfig
8.打开浏览器:
http://10.5.21.46/zabbix
用户名admin,初始密码为空.

论坛徽章:
0
2 [报告]
发表于 2008-04-14 18:22 |只看该作者
我安装了几遍,结果都是一样,打开网页只看到一个sbin目录;

查看安装目录也只有sbin一个目录,不知为何;

[root@cacti zabbix-1.4.5]# ls /var/www/html/zabbix/
sbin


安装步骤:
./configure --enable-server --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp=/usr/local/bin/net-snmp-config --prefix=/var/www/html/zabbix;


make install

论坛徽章:
0
3 [报告]
发表于 2008-04-16 19:29 |只看该作者
由于php对于我来说非常陌生,我总是配不好db.inc.php,不知如何设置数据库;


#运行zabbix_server总是提示错误,似乎是库没有设好。。

[root@flow ~]# /usr/local/zabbix/sbin/zabbix_server
/usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libnetsnmp.so.15: cannot open shared object file: No such file or directory


而且我搜了一下,目前我还没有看到一篇真正完整的zabbix安装教程,有几篇英文的倒是比较全面一些;望赐教。谢谢。

论坛徽章:
0
4 [报告]
发表于 2008-04-21 12:14 |只看该作者
错误提示如附件,无法继续。。。

2008-04-21_12-10-58.jpg (147.18 KB, 下载次数: 176)

2008-04-21_12-10-58.jpg

论坛徽章:
0
5 [报告]
发表于 2008-05-04 09:38 |只看该作者
楼上的朋友
安装php-bcmath
yum -y install php-bcmath

修改时区
Vi  /etc/php.ini
date.timezone =Asia/Shanghai



还有一个经常碰到的问题:
php max execution time
vi /etc/php.ini
改为300就可以了

谢谢楼主的分享,版主加精吧,别这么吝啬。
楼主来啊,继续和大家交流。

[ 本帖最后由 deargentle 于 2008-5-4 09:48 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2008-05-04 09:57 |只看该作者

这是官方文档

ZABBIX SERVER

        1. Create the ZABBIX superuser account
This is the user the server will run as. For production use you should create a dedicated unprivileged account ('zabbix' is commonly used). Running ZABBIX as 'root','bin', or any other account with special rights is a security risk. Do not do it!
Note: ZABBIX server process (zabbix_server) is protected from being run under root account.
        2. Untar ZABBIX sources
shell> gunzip zabbix.tar.gz && tar -xvf zabbix.tar
        3. Create the ZABBIX database.
ZABBIX comes with SQL scripts used to create the required database schema and also to insert a default configuration. There are separate scripts for MySQL and PostgreSQL.
For MySQL:
shell> mysql -u<username> -p<password>
mysql> create database zabbix;
mysql> quit;
shell> cd create/mysql
shell> cat schema.sql |mysql -u<username> -p<password> zabbix
shell> cd ../data
shell> cat data.sql |mysql -u<username> -p<password> zabbix
shell> cat images.sql |mysql -u<username> -p<password> zabbix
For PostgreSQL:
shell> psql -U <username>
psql> create database zabbix;
psql> \q
shell> cd create/postgresql
shell> cat schema.sql|psql -U <username> zabbix
shell> cd ../data
shell> cat data.sql|psql -U <username> zabbix
shell> cat images_pgsql.sql |psql -U <username> zabbix
        4. Configure and compile the source code for your system
The sources must be compiled for both the server (monitoring machine) as well as the clients (monitored machines). To configure the source for the server, you must specify which database will be used.
shell> ./configure --enable-server --with-mysql --with-net-snmp # for MySQL
or
shell> ./configure --enable-server --with-pgsql --with-net-snmp # for PostgreSQL make
or
shell> ./configure --enable-server --with-oracle=/home/zabbix/sqlora8 --with-net-snmp # for Oracle make
Note: Use flag --with-oracle to specify location of sqlora8 library. The libary is required for Oracle support. The library can be found at libsqlora8 homepage
Note: Use flag --enable-static to statically link libraries. If you plan to distribute compiled binaries among different servers, you must use this flag to make these binaries work without required libraries. --enable-static does not work under Solaris. Flag --with-ucd-snmp can be used instead of --with-net-snmp. If no SNMP support required, both --with-net-snmp and --with-ucd-snmp may be skipped.
However, if you want to compile client binaries along with server binaries, run:
shell> ./configure  --enable-server --enable-agent --with-mysql --with-net-snmp
Parameter —enable-static may be used to force static linkage.
        5. Make and install everything:
shell> make install
By default,
make install
will install all the files in /usr/local/bin, /usr/local/lib etc. You can specify an installation prefix other than /usr/local using --prefix
        6. Configure /etc/services
The step is not real requirement. However, it is recommended. On the client (monitored) machines, add the following lines to /etc/services:
zabbix_agent 10050/tcp
zabbix_trap 10051/tcp
        7. Configure /etc/inetd.conf
If you plan to use zabbix_agent instead of the recommended zabbix_agentd, the following line must be added:
zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent
Restart inetd
shell> killall -HUP inetd
Modify default settings in configuration files
        8. Configure /etc/zabbix/zabbix_agent.conf
You need to configure this file for every host having zabbix_agent installed. The file should contain IP address of ZABBIX server. Connections from other hosts will be denied. You may take misc/conf/zabbix_agent.conf as example.
        9. Configure /etc/zabbix/zabbix_agentd.conf
You need to configure this file for every host with zabbix_agentd installed. The file should contain the IP address of the ZABBIX server. Connectionsfrom other hosts will be denied. You may take misc/conf/zabbix_agentd.conf as example.
        10. Configure /etc/zabbix/zabbix_server.conf
For small installations (up to ten monitored hosts), default parameters are sufficient. However, you should change default parameters to maximize performance from ZABBIX. See section [Performance tuning] for more details.
You may take misc/conf/zabbix_server.conf as example.
        11. Run server processe
Run zabbix_server on server side.
shell> cd bin
shell> ./zabbix_server
        12. Run agents
Run zabbix_agentd where necessary.
shell> cd bin
shell> ./zabbix_agentd


Configure WEB interface
As user zabbix (or whatever you decided to name your dedicated ZABBIX account), do the following:
        1. Change these values in frontends/php/include/db.inc.php:
        $DB_TYPE =”POSTGRESQL”; /* Or “MYSQL” for MySQL */
        $DB_SERVER =”localhost”;
        $DB_DATABASE =”zabbix”;
        $DB_USER =””;
        $DB_PWD =””
        2. Copy the PHP source files to a place where your web server can get to it. Perhaps /home/zabbix/html or /home/zabbix/public_html or /var/www/html/zabbix, etc.
For example:
shell> mkdir /home/zabbix/html
shell> cp -R frontends/php/* /home/zabbix/html/

论坛徽章:
0
7 [报告]
发表于 2008-05-24 20:42 |只看该作者
[巳解決]

freebsd 下用 port 安裝發現不含 zabbiz_agent.conf.

是否用 tar ball 安裝較好 ?

(找到 /usr/ports/net-mgmt/zabbix-agent 了)

[ 本帖最后由 freesrc 于 2008-5-24 20:43 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2008-07-11 13:41 |只看该作者
应该来几张比较全面的图看看。哈哈

论坛徽章:
0
9 [报告]
发表于 2008-10-27 15:04 |只看该作者
官方文档写的非常的不全面。有没有更全面详细点的教程?

论坛徽章:
0
10 [报告]
发表于 2008-12-08 10:34 |只看该作者

回复 #3 zenglingping 的帖子

libnetsnmp.so.15 无法找到的话,如下操作:
locate libnetsnmp.so.15 查找
/usr/lib/libnetsnmp.so.15  一般在这个目录下。

ln -s /usr/lib/libnetsnmp.so.15 /lib

ln -s /usr/lib/libnetsnmp.so.15 /lib64 #64位机器的话。
完成。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP