zabbix之2安裝編譯/基本功能實現


1.安裝方式:
rpm或者編譯都可,rpm可以直接用yum安裝.
rpm安裝的話,根據文件名進行選擇即可.
編譯的話,不同參數對應不同的組件.

編譯安裝zabbix :

同時安裝server和agent,並支持將數據放入mysql數據中,可使用類似如下配置命令:
. /configure  --prefix=/usr/local/zabbix  -- enable - server -- enable - agent -- with - mysql -- enable - ipv6 -- with - net - snmp -- with - libcurl -- with - ssh2

如果僅安裝server,並支持將數據放入mysql數據中,可使用類似如下配置命令:
. /configure  --prefix=/usr/local/zabbix  -- enable - server -- with - mysql -- with - net - snmp -- with - libcurl

如果僅安裝proxy,並支持將數據放入mysql數據中,可使用類似如下配置命令:
. /configure  --prefix=/usr/local/zabbix  -- prefix = / usr -- enable - proxy -- with - net - snmp -- with - mysql -- with - ssh2

如果僅安裝agent,可使用類似如下配置命令:
. /configure  --prefix=/usr/local/zabbix  -- enable - agent

這里選擇的方式是非proxy
#./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-ssh2
可能會出的問題:
ssh2 lib找不到,則安裝libssh2,並--with-ssh2=指定安裝位置,地址:http://www.libssh2.org/
# make
# make install

添加zabbix系統賬戶

#groupadd zabbix

#useradd -g zabbix -m zabbix 

#chown -R root.zabbix /usr/local/zabbix

添加服務端口(可要可不要,官方說建議要)

#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

配置文件軟連接(可要可不要,按照習慣要)

ln -s /usr /local /zabbix /etc /etc /zabbix
修改各項配置文件

#vim /etc/zabbix/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBName=zabbix
DBUser=zabbixer
DBPassword=123456     #指定zabbix數據庫密碼
ListenIP=192.168.10.197    #服務器IP地址

復制網站文件到虛擬主機目錄,當然修改虛擬主機的配置也是必須的.(這里貼出apache的,至於nginx,這里就不貼出來了)

#cp -rp /usr/local/src/zabbix-***/frontends/php /var/www/zabbix
#cd /var/www
#chown -R zabbix.zabbix zabbix
#vim /usr/local/apache/conf/httpd.conf
group zabbix
user zabbix
#vim /usr/local/apache/conf/extra/httpd-vhost.conf
<VirtualHost 10.88.5.124:80>
    ServerAdmin aaa103439@hotmail.com
    DocumentRoot "/var/www/zabbix"
    ServerName 10.88.5.124
    ErrorLog "logs/zabbix-error_log"
    CustomLog "logs/zabbix-access_log" common
<Directory "/var/www/zabbix"> 
     Options None
     DirectoryIndex index.php 
      AllowOverride Options FileInfo 
     Require all granted
</Directory>
</VirtualHost>

復制啟動腳本,zabbix的啟動腳本位於源碼包中,路徑如下:
# ls /usr/local/src/zabbix-2.2.3/misc/init.d/
aix  debian  fedora  freebsd  gentoo  README  suse  tru64  ubuntu
ls fedora/core/
zabbix_agentd  zabbix_server
#cp * /etc/init.d/
#chkconfig --add zabbix_agentd
#chkconfig --add zabbix_server
#chkconfig zabbix_agentd on
#chkconfig zabbix_server on
修改腳本,因為腳本里的bin程序和配置文件路徑均不對,好吧,也不能說不對,不過和我的不一樣...所以得改下,但是版本不同,可能里面的內容不同,不過修改的內容都差不多,只不過變量不一樣.這里貼出我的zabbix_server
# Variables 變量區域
# Edit these to match your system settings

    # Zabbix-Directory
    BASEDIR = /usr/local/zabbix

    # Binary File
    BINARY_NAME =zabbix_server

    # Full Binary File Call
    FULLPATH =$BASEDIR /sbin /$BINARY_NAME

    # PID file
    PIDFILE = /tmp /$BINARY_NAME.pid

    # Establish args
    ERROR = 0
    STOPPING = 0
#啟動區域
start() {
    if [ $RUNNING -eq 1 ]
        then
        echo "$0 $ARG: $BINARY_NAME (pid $PID) already running"
    else
        action $ "Starting $BINARY_NAME: " $FULLPATH -c /etc/zabbix/zabbix_server.conf
        touch /var /lock /subsys /$BINARY_NAME
    fi
}
紅色區域就是我修改的,分別是一個zabbix根路徑和啟動時所調用的配置文件.
至於zabbix_agentd,修改方式一樣.

數據庫端-->
創建數據庫:server和proxy的運行都依賴於數據庫,agent則不需要。

以MySQL數據庫為例:
#生成用戶名和密碼;
mysql > CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
mysql > GRANT ALL ON zabbix. * TO zabbixer@ '%' IDENTIFIED BY '123456';
#生成proxy數據庫
shell > mysql -u <username > -p <password > zabbix < schema.sql
#生成server數據庫
shell > mysql -u <username > -p <password > zabbix < images.sql
shell > mysql -u <username > -p <password > zabbix < data.sql
以上數據庫的導入需要嚴格按照順序執行,否則無法導入
數據庫文件位於zabbix-server-mysql包中,其安裝后的位置:/usr/share/doc/zabbix-server-mysql-***/create/

server端和web端在一起-->
server端的默認端口是10051
agent端的默認端口是10050
啟動過程中可能會出現諸多問題,這里列出我所出現的:
zabbix_server [56305]: cannot recreate Zabbix semaphores for IPC key 0x7a016e62 Semaphore ID 4294967295: [22] Invalid argument
刪除對應的IPC KEY,如:ipcrm -S  0x7a016e62
zabbix_server [56363]: cannot attach to existing shared memory: [13] Permission denied
查看selinux是否關閉
配置文件一直不生效
查看是否有其他配置文件,默認zabbix優先使用/usr/local/etc/zabbix_server.conf,如果發現配置文件調用的不對,可以通過zabbix_server -c 配置文件來調用自己所選擇的配置文件.
配置完成,可以啟動
service zabbix-server start

訪問頁面http://localhost/zabbix(如果是rpm安裝),如果是編譯安裝,則路徑按照自己httpd中定義的來寫.
安裝過程中可能會出現各種組件的支持問題.主要有以下:
1.php的參數不對,這個根據網頁上顯示的修改php.ini即可.如: php時區 Aisa/ShangHai
2.gd庫不支持,包括gd庫下的png,jpeg,freetype等.這個需要下載gd,libpng,jpeg,freetype.具體操作如下:
#編譯安裝libpng,jpeg,freetype,這三個包安裝無需特殊參數,指定一下路徑即可,有人說需要加入--enable-shared,但是我沒開,gd依然可以用.
#編譯安裝gd,加入--with-png-dir=/path/libpng    --with-jpeg-dir=/path/jpeg    --with-freetype-dir=/path/freetype
#如果gd編譯后,顯示這幾個庫都是YES,則說明OK.
#將gd加入到php中.如果你的php已經是安裝過的,那么需要單獨編譯gd,操作如下:(路徑自己根據情況修改)
#cd /usr/local/src/php-***/ext/gd
#/usr/local/php/bin/phpize
#./configure --with-gd=/usr/local/gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-php-config=/usr/local/php/bin/php-config
#make && make install
編譯安裝完,會有一個路徑,將其路徑復制,假設路徑是pathA
#vim /usr/local/php/php.ini
[gd]
extension  = pathA /gd.so
#重啟apache或fpm-php
3.其他庫不支持,如上編譯安裝即可.


被監控端:
配置:zabbix-agentd.conf
#vim /etc/zabbix/zabbix_agentd.conf
PidFile = /tmp /zabbix_agentd.pid  #進程PID
LogFile = /tmp /zabbix_agentd.log  #日志保存位置
EnableRemoteCommands = 1  #允許執行遠程命令
Server =  #agent端的ip
Hostname =zabbix server  #必須與zabbix創建的host監控項目中的name標簽相同
配置完成,可以啟動
service zabbix-agentd start
agentd端口時10050

windows端的安裝
1. 配置zabbix_agentd.conf文件,需要修改的地方分別為:Server,Hostname,LogFile;
其中Server是zabbix服務器的IP地址,Hostname是本地的主機名,LogFile為zabbix_agentd.log文件的位置,用於記錄事件.
2. 進入cmd環境,C:\zabbix\bin\win32>zabbix_agentd.exe --config c:\zabbix\conf\zabbix_agentd.win. conf -i
3. 在"運行"輸入 "services.msc",在里面找到"ZABBIX AGENT",並啟動服務。

至此就完成了ZABBIX windows agent的安裝和配置。 



配置監控項目基本流程:
1.設定主機
2.設定監控項Configuration-->Hosts-->Items-->create items
多個Items可以定義為Application組
監控項需要定義key,來確保項目唯一性.另,key可以接收參數.
3.配置Graph,可以將多個監控項的圖表合並在一起.
4.Screen可以將多個Graph整合在一個屏幕上.
5.配置觸發器
6.配置動作Action





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM