如何在ubuntu下编译安装zabbix系统

如何在ubuntu下编译安装zabbix系统,第1张

第一部分,php\nginx\mysql组件安装

1,php-cgi

zabbix的web前端是用php写成的,需要php来运行

view sourceprint?1 jcwu@ubuntu:~$ sudo apt-get update

2 jcwu@ubuntu:~$ sudo apt-get install php5-cgi

3 jcwu@ubuntu:~$ sudo useradd www #php运行用户

php-cgi控制脚本

view sourceprint?01 jcwu@ubuntu:~$ cat /etc/init.d/php-fcgi

02 #!/bin/bash

03

04 BIND=127.0.0.1:9000

05 USER=www

06 PHP_FCGI_CHILDREN=15

07 PHP_FCGI_MAX_REQUESTS=1000

08 PHP_CGI=/usr/bin/php-cgi

09 PHP_CGI_NAME=`basename $PHP_CGI`

10 PHP_CGI_ARGS="- USER=$USER PATH=/usr/bin PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS $PHP_CGI -b $BIND"

11 RETVAL=0

12

13 start() {

14 echo -n "Starting PHP FastCGI: "

15 start-stop-daemon --quiet --start --background --chuid "$USER" --exec /usr/bin/env -- $PHP_CGI_ARGS

16 RETVAL=$?

17 echo "$PHP_CGI_NAME."

18 }

19 stop() {

20 echo -n "Stopping PHP FastCGI: "

21 killall -q -w -u $USER $PHP_CGI

22 RETVAL=$?

23 echo "$PHP_CGI_NAME."

24 }

25

26 case "$1" in

27 start)

28 start

29

30 stop)

31 stop

32

33 restart)

34 stop

35 start

36

37 *)

38 echo "Usage: php-fastcgi {start|stop|restart}"

39 exit 1

40

41 esac

42 exit $RETVAL

43

44 jcwu@ubuntu:~$ sudo update-rc.d php-fcgi defaults #添加至系统启动项

2,nginx

参考http://wiki.nginx.org/Install

view sourceprint?01 jcwu@ubuntu:~$sudo vi /etc/apt/source.list

02 #在文件尾添加以下2行

03 deb http://nginx.org/packages/ubuntu/ lucid nginx

04 deb-src http://nginx.org/packages/ubuntu/ lucid nginx

05 #############官方文档中如下#######################################

06 su -s

07 nginx=stable # use nginx=development for latest development version

08 add-apt-repository ppa:nginx/$nginx

09 # add-apt-repository 安装命令为 apt-get install python-software-properties

10 apt-get update

11 apt-get install nginx

12 #############我的安装命令########################################

13 jcwu@ubuntu:~$ sudo apt-get update

14 jcwu@ubuntu:~$ sudo apt-get install nginx

设置php-cgi

view sourceprint?1 sudo vi /etc/nginx/conf.d/default.conf

将root html提前到server_name下面

将location /中的index 指令后加上index.php

设置php解析

view sourceprint?01 # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

02 #

03 location ~ \.php$ {

04 root html

05 fastcgi_pass 127.0.0.1:9000

06 fastcgi_index index.php

07 #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name

08 #fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name

09 fastcgi_param SCRIPT_FILENAME/usr/share/nginx/html$fastcgi_script_name

10 includefastcgi_params

11 }

测试

view sourceprint?1 sudo vi /usr/share/nginx/html/info.php

2 #添加

3 <!--?php phpinfo()?-->

4 #然后reload nginx

5 sudo kill -HUP $(cat /var/run/nginx.pid)

在浏览器中打开http://192.168.1.115/info.php

这样就OK了

3,mysql

用来存储监控数据,这里可以选很多种db2、mysql、oracle、postgresql、sqlite

view sourceprint?1 jcwu@ubuntu:~$ sudo apt-get install mysql-server

第二部分,zabbix编译安装和web前面配置

0-准备工作

view sourceprint?1 #安装编译套件

2 sudo apt-get install build-essential

3 #安装php前端需要的包

4 sudo apt-get install libmysqlclient15-dev php5-gd php5-mysql

5 #安装zabbix需要的包,snmp\curl\ssl\fping

6 sudo apt-get install snmp libsnmp-dev snmpd libcurl4-openssl-dev fping

1-添加用户,并添加到admin用户组

view sourceprint?1 sudo adduser zabbix

2 sudo adduser zabbix admin

2-获取zabbix 1.8.11 源码包,并解压

view sourceprint?1 cd /usr/src &&wget http //prdownloads sourceforge net/zabbix/zabbix-1.8.11.tar.gz?download

2 sudo mv zabbix-1.8.11.tar.gz?download zabbix-1.8.11.tar.gz

3 tar xvf zabbix-1.8.11.tar.gz

3-mysql数据库初始化

view sourceprint?1 mysql -uroot -p -e"create database zabbix"

2 mysql -uroot -p -e"grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'"

3 mysql -D zabbix -uzabbix -pzabbix <zabbix-1.8.11/create/schema/mysql.sql

4 mysql -D zabbix -uzabbix -pzabbix <zabbix-1.8.11/create/data/data.sql

5 mysql -D zabbix -uzabbix -pzabbix <zabbix-1.8.11/create/data/images_mysql.sql

4-编译安装

view sourceprint?1 cd zabbix-1.8.11/

2 ./configure --prefix=/usr/local --with-mysql --with-net-snmp \

3 --with-libcurl --enable-server --enable-agent &&\

4 make

5 sudo make install

6 #--with-net-snmp是启用SNMP协议

7 #--with-libcurl是监控web网站用的

8 #--enable-server只可在服务端上使用

9 #其它还有IPMI等,参阅./configure --help

5-系统其它设置

view sourceprint?1 sudo vi /etc/services

2 #添加

3 zabbix_agent 10050/tcp # Zabbix ports

4 zabbix_trap 10051/tcp

6-设置zabbix配置文件目录

view sourceprint?1 sudo mkdir /etc/zabbix

2 sudo chown -R zabbix.zabbix /etc/zabbix/

3 cp misc/conf/zabbix_* /etc/zabbix/

修改配置文件zabbix_server.conf

view sourceprint?1 vi /etc/zabbix/zabbix_server.conf

搜索DBUser DBPassword这两个关键字,替换为前面mysqlDB中设置的用户和密码(这里都是zabbix\zabbix)

7-设置zabbix开机启动

view sourceprint?1 sudo cp misc/init.d/debian/zabbix-server /etc/init.d

2 sudo cp misc/init.d/debian/zabbix-agent /etc/init.d

3 cd !$

4 sudo chmod 755 zabbix-*

5 sudo update-rc.d zabbix-server defaults

6 sudo update-rc.d zabbix-agent defaults

其实misc/init.d/ubuntu/下面还有2个conf配置文件,但这个扔/etc/init.d里来启动zabbix会报错

8-zabbix web界面安装设置

view sourceprint?1 sudo mkdir /usr/share/nginx/html/zabbix/

2 cd /usr/src/zabbix-1.8.11/frontends/ &&sudo cp -r php /usr/share/nginx/html/zabbix

在浏览器中打开http://192.168.1.115/zabbix开始web界面的setup

这里有2个重要的地方,一是 zabbix会检查php的设置

如下图,图中标红的是默认需要修改的参数,php的设置文件为/etc/php5/cgi/php.ini

改完后记得

view sourceprint?1 sudo service php-fcgi restart

二是mysql db的设置

最后,要手动将生成的设置文件zabbix.conf.php上传到/usr/share/nginx/html/zabbix/conf

gnome终端对rz支持不好,我就不上传了,而是直接将下载的zabbix.conf.php的内容进行Ctl+C,直接在服务器上vi zabbix.conf.php然后再Shift+Insert粘贴进去

然后再点几个Next.就安装完了

zabbix默认用户是admin,密码是zabbix,登陆后一定要修改。

配置SNMP监控

使用SNMP来监视设备,需要完成以下步骤

1. 创建主机

创建一个使用SNMP接口的主机(请参考zabbix创建主机),创建主机过程中你可以选择相应的模板,路由器、交换机这些设备的监控itme,zabbix已经默认自带了

2. 找出你想监控的SNMP字符串(或者OID)

如果你想获取SNMP字符串,你可以使用命令snmpwalk来实现,当然在安装zabbix的时候你需要增加snmp的支持

1

# snmpwalk -v 2c -c public .

2c表示SNMP标准版本,snmp推出了v1,v2,v3版本,你也可以 写成1,表示使用1版本.上面的命令会获取到一个SNMP的列表,包含键值,默认情况下我们snmp不加密,使用public作为共同体即可,这些列表中 有你需要的一些监控数据.但是线上环境我们不可能获取所有的键值,如果需要获取特定的数据,例如像获取交换机第三个端口的入口流量,需要使用IF-MIB::ifInOctets.3字符串,如下:

1

IF-MIB::ifInOctets.3 = Counter32: 3409739121

然后使用snmpget命令来获取IF-MIB::ifInOctets.3的OID。命令如下

1

# snmpget -v 2c -c public -On 10.62.1.22 IF-MIB::ifInOctets.3

最后一个数字3表示端口3,如果你想监控端口23那就写上23. 请参考: Dynamic indexes.

会输出如下值:

1

.1.3.6.1.2.1.2.2.1.10.3 = Counter32: 3472126941

同理,OID的最后一个数字3表示端口号,要特别注意的是3COM的端口号1是101,3是是103,但是cisco还是不变,1号还是数字1.

创建监控项item

回 到zabbix的主机列表中,在你需要配置的主机那行,点击监控项item,在右上角点击“create item”,和普通的监控项创建方法差不多,仅有几个地方不同,type选择SNMP v2或者v1,v3,一般选择v2,snmp community使用默认的public,port不填写默认为161. SNMP OID写上OID,例如”.1.3.6.1.2.1.2.2.1.10.3"。然后其他内容和其他item type一样,然后保存即可。最后去看看是否获取到了数据。

Zabbix的简单安装配置说明

1、在已有的LAMP或者LNMP的基础上安装zabbix,安装一些依赖包:

yum -y install mysql-devel libcurl-devel net-snmp-devel

2、添加用户:

groupadd zabbix

useradd zabbix -g zabbix

3、创建数据库,添加授权账号

create database zabbix character set utf8

导入数据库

mysql -uzabbix -pzabbix -hlocalhost zabbix <database/mysql/schema.sql

mysql -uzabbix -pzabbix -hlocalhost zabbix <database/mysql/images.sql

mysql -uzabbix -pzabbix -hlocalhost zabbix <database/mysql/data.sql


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11528581.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存