docker是什麼,還有怎麼用,請看我另一篇部落格,希望你們看懂了,然後還能用得上.
至于zabbix,應該是挺出名的伺服器監控軟體了,簡單靈活而又智能化,還能調用API,比起我以前用的nagios感覺還簡單一些,下面來介紹在docker環境安裝zabbix3.2.
首先說說3.2這個版本是最新版,這個版本和之前2.X的差異,主要在于UI優化,還有加強了一些自動發現的功能,性能優化等,很多人擔心太新穩定性不行,但是我這邊穩定性暫時沒發現問題.
安裝前要準備一套LNMP環境,因為zabbix本身也是web系統,怎麼安裝LNMP,我就不在這裡詳細說了,也不應再篇幅之内,各位自行安裝.
啟動docker容器:
我标題寫的是使用docker搭建,是以先用docker啟動一個容器來實作,不過比較遺憾,我并不打算詳細說docker的事情,各位就請看我另一篇文章了,我這邊直接用自己已經定義好的模闆來做了,指令如下:
<code>docker run -ti --name zabbix-test1 --restart=on-failure:3 -c 256 -m 1g --memory-swap=-1 -p 25001:22 -p 10050:10050 -p 10051:10051 -</code><code>v</code> <code>/data/zabbix</code><code>:</code><code>/data</code> <code>-</code><code>v</code> <code>/mnt/soft</code><code>:</code><code>/soft</code> <code>centos</code><code>/test</code><code>:zabbix-test1 </code><code>/bin/init</code><code>.sh</code>
具體意思還是得說說的,不然真的雲裡霧裡,這裡建立了一個叫zabbix-test1的容器,配置設定了256份cpu,1G記憶體,把22端口映射到25001,把10050和10051映射到母機相同的端口,并挂載相關要使用的檔案夾.
裡面已經有安裝好的LNMP環境,端口映射也直接能用,我不用裝伺服器了,也不用拉一大堆依賴包,相當友善,是以LNMP環境也不準備細說了,沒錯,docker就是這點爽.
安裝:
安裝前嘛,當然是先下載下傳軟體了,可以去這個網站:
其他不用研究了,我們隻看Zabbix Sources源碼包系列和Zabbix pre-compiled agents監控節點程式
監控節點稍後再說,現在來看用源碼安裝zabbix server和agent,zabbix的源碼包已經有了一整套的環境,按着流程來做就完全沒問題了
建立、導入zabbix資料庫:
<code>#進入軟體包下載下傳目錄,沒有定性,隻是我喜歡放到這裡</code>
<code>cd</code> <code>/opt/</code>
<code>#解壓</code>
<code>tar</code> <code>xf zabbix-3.2.1.</code><code>tar</code><code>.gz </code>
<code>#裡面有幾種資料庫,但是我們用mysql,是以進入mysql資料庫建立腳本目錄,</code>
<code>cd</code> <code>/opt/zabbix-3</code><code>.2.1</code><code>/database/mysql</code>
<code>#列出檔案,可以看到有schema.sql、images.sql、data.sql這三個檔案 </code>
<code>ls</code> <code>-l</code>
<code>total 3064</code>
<code>-rw-r--r-- 1 www www 1032494 Sep 30 17:47 data.sql</code>
<code>-rw-r--r-- 1 www www 1978341 Sep 30 17:43 images.sql</code>
<code>-rw-r--r-- 1 www www 122134 Sep 30 17:47 schema.sql</code>
<code>#進入準備好的mysql資料庫,輸入密碼,進入MySQL控制台</code>
<code>mysql -uroot -pXXXXXX </code>
<code>#建立資料庫zabbix,并且資料庫編碼使用utf8</code>
<code>create database zabbix character </code><code>set</code> <code>utf8;</code>
<code>#重新整理系統授權表 </code>
<code>#建立賬戶zabbix,密碼zabbix,一般情況下,直接用下面一種方法就可以</code>
<code>insert into mysql.user(Host,User,Password) values(</code><code>'localhost'</code><code>,</code><code>'zabbix'</code><code>,password(</code><code>'zabbix'</code><code>)); </code>
<code>flush privileges; </code>
<code>#允許賬戶zabbix能從本機連接配接到資料庫zabbix</code>
<code>grant all on zabbix.* to </code><code>'zabbix'</code><code>@</code><code>'localhost'</code> <code>identified by </code><code>'zabbix'</code>
<code>#進入資料庫,準備導庫</code>
<code>use zabbix</code>
<code>#注意:請按照以上順序進行導入,否則會出錯。</code>
<code>#導入腳本檔案到zabbix資料庫 </code>
<code>source</code> <code>/opt/zabbix-3</code><code>.2.1</code><code>/database/mysql/schema</code><code>.sql </code>
<code>#導入腳本檔案到zabbix資料庫</code>
<code>source</code> <code>/opt/zabbix-3</code><code>.2.1</code><code>/database/mysql/images</code><code>.sql </code>
<code>source</code> <code>/opt/zabbix-3</code><code>.2.1</code><code>/database/mysql/data</code><code>.sql </code>
<code>#退出</code>
<code>exit</code>
<code>#也可以或者這樣導入</code>
<code>mysql -uzabbix -p123456 -hlocalhost zabbix < </code><code>/opt/zabbix-3</code><code>.2.1</code><code>/database/mysql/schema</code><code>.sql</code>
<code>mysql -uzabbix -p123456 -hlocalhost zabbix < </code><code>/opt/zabbix-3</code><code>.2.1</code><code>/database/mysql/images</code><code>.sql</code>
<code>mysql -uzabbix -p123456 -hlocalhost zabbix < </code><code>/opt/zabbix-3</code><code>.2.1</code><code>/database/mysql/data</code><code>.sql</code>
安裝zabbix:
<code>1、添加使用者:</code>
<code>#建立使用者組zabbix</code>
<code>groupadd zabbix </code>
<code>#建立使用者zabbix,并且把使用者zabbix加入到使用者組zabbix中</code>
<code>useradd</code> <code>zabbix -g zabbix -s </code><code>/bin/false</code>
<code>2、安裝依賴包 </code>
<code>#CentOS使用yum指令安裝,如果在安裝Web環境LAMP或者LNMP時已經安裝過,此步驟可忽略</code>
<code>yum </code><code>install</code> <code>net-snmp-devel curl curl-devel mysql-devel</code>
<code>apt-get </code><code>install</code> <code>-y libsnmp-dev libmysqld-dev curl</code>
<code>3、安裝zabbix</code>
<code>#進入安裝目錄</code>
<code>cd</code> <code>/opt/zabbix-3</code><code>.2.1 </code>
<code>#配置,</code>
<code>.</code><code>/configure</code> <code>--prefix=</code><code>/usr/local/zabbix</code> <code>--</code><code>enable</code><code>-server --</code><code>enable</code><code>-agent --with-net-snmp --with-libcurl --</code><code>enable</code><code>-proxy --with-mysql=</code><code>/usr/bin/mysql_config</code>
<code>#如果報錯,那就要:find / -name mysql_config 查找位置,如果沒有mysql_config,需要安裝yum install mysql-devel 或者檢視mysqlclinet.so庫檔案</code>
<code>#完成後編譯</code>
<code>make</code>
<code>#最後安裝</code>
<code>make</code> <code>install</code>
<code>#添加指令軟連接配接</code>
<code>ln</code> <code>-s </code><code>/usr/local/zabbix/sbin/</code><code>* </code><code>/usr/local/sbin/</code>
<code>ln</code> <code>-s </code><code>/usr/local/zabbix/bin/</code><code>* </code><code>/usr/local/bin/</code>
<code>4、添加zabbix服務對應的端口</code>
<code>#編輯,在最後添加以下代碼,一般系統會自帶,不過多添加也不影響</code>
<code>vi</code> <code>/etc/services</code>
<code># Zabbix</code>
<code>zabbix-agent 10050</code><code>/tcp</code> <code># Zabbix Agent</code>
<code>zabbix-agent 10050</code><code>/udp</code> <code># Zabbix Agent</code>
<code>zabbix-trapper 10051</code><code>/tcp</code> <code># Zabbix Trapper</code>
<code>zabbix-trapper 10051</code><code>/udp</code> <code># Zabbix Trapper</code>
<code>#儲存退出</code>
<code>:wq! </code>
<code>5、修改zabbix配置檔案</code>
<code>cd</code> <code>/usr/local/zabbix/etc</code>
<code>#修改zabbix server端的配置</code>
<code>vi</code> <code>/usr/local/zabbix/etc/zabbix_server</code><code>.conf</code>
<code>#資料庫名稱</code>
<code>DBName=zabbix </code>
<code>#資料庫使用者名</code>
<code>DBUser=zabbix </code>
<code>#資料庫密碼</code>
<code>DBPassword=zabbix </code>
<code>#資料庫ip位址,如果是遠端位址,要記得改</code>
<code>ListenIP=localhost </code>
<code>#資料庫端口,同上配合</code>
<code>DBPort=3306</code>
<code>#zabbix運作腳本存放目錄,如果是自定義腳本,就自己考慮要怎麼改</code>
<code>AlertScriptsPath=</code><code>/usr/local/zabbix/share/zabbix/alertscripts</code>
<code>#修改zabbix agent端的配置,因為是本機,要改的地方很少</code>
<code>vi</code> <code>/usr/local/zabbix/etc/zabbix_agentd</code><code>.conf</code>
<code>#額外自定義監控配置檔案的存放位置,有自定義監控就一定要設定了</code>
<code>Include=</code><code>/usr/local/zabbix/etc/zabbix_agentd</code><code>.conf.d/</code>
<code>#啟用自定義key</code>
<code>UnsafeUserParameters=1 </code>
<code>6、添加開機啟動腳本</code>
<code>#服務端,如果隻是需要用戶端,可以忽略這個</code>
<code>cp</code> <code>/usr/local/src/zabbix-3</code><code>.2.1</code><code>/misc/init</code><code>.d</code><code>/fedora/core/zabbix_server</code> <code>/etc/init</code><code>.d</code><code>/zabbix_server</code>
<code>#用戶端</code>
<code>cp</code> <code>/usr/local/src/zabbix-3</code><code>.2.1</code><code>/misc/init</code><code>.d</code><code>/fedora/core/zabbix_agentd</code> <code>/etc/init</code><code>.d</code><code>/zabbix_agentd</code>
<code>#添加腳本執行權限</code>
<code>chmod</code> <code>+x </code><code>/etc/init</code><code>.d</code><code>/zabbix_server</code>
<code>chmod</code> <code>+x </code><code>/etc/init</code><code>.d</code><code>/zabbix_agentd</code>
<code>#添加開機啟動,centos7之後會不一樣,各位自己看情況</code>
<code>chkconfig zabbix_server on </code>
<code>#添加開機啟動,如果隻是需要用戶端,可以忽略這個</code>
<code>chkconfig zabbix_agentd on </code>
<code>7、修改zabbix開機啟動腳本中的zabbix安裝目錄</code>
<code>#編輯服務端配置檔案</code>
<code>vi</code> <code>/etc/init</code><code>.d</code><code>/zabbix_server</code>
<code>#zabbix安裝目錄</code>
<code>BASEDIR=</code><code>/usr/local/zabbix/</code>
<code>#編輯用戶端配置檔案</code>
<code>vi</code> <code>/etc/init</code><code>.d</code><code>/zabbix_agentd</code>
<code>:wq!</code>
配置web站點(php代碼):
<code>#進入zabbix源碼包目錄</code>
<code>cd</code> <code>/opt/zabbix-3</code><code>.2.1</code>
<code>#拷貝zabbix的php檔案到已經安裝并定義好的LNMP代碼目錄</code>
<code>cp</code> <code>-r </code><code>/usr/local/src/zabbix-3</code><code>.2.1</code><code>/frontends/php</code> <code>/data/htdocs/www/zabbix</code>
<code>#更改好屬主權限,是nginx的權限,我這裡是www使用者</code>
<code>chown</code> <code>www:www -R </code><code>/data/htdocs/www/zabbix</code>
<code>備注:</code><code>/data/htdocs/www</code><code>為我自己設定的Nginx預設站點目錄 www為Nginx運作賬戶</code>
<code>#啟動zabbix服務端</code>
<code>service zabbix_server start </code>
<code>#啟動zabbix用戶端</code>
<code>service zabbix_agentd start </code>
<code>#編輯修改php配置,不然會用不了</code>
<code>vi</code> <code>/etc/php</code><code>.ini </code>
<code>post_max_size =16M</code>
<code>max_execution_time =300</code>
<code>max_input_time =300</code>
<code>#編輯修改</code>
<code>vi</code> <code>/usr/local/php/etc/php-fpm</code><code>.conf </code>
<code>request_terminate_timeout = 300</code>
<code>#重新開機php-fpm</code>
<code>service php-fpm reloa</code>
不過,還要多做一個事,修改web界面為中文,因為雖然zabbix自帶中文語言包,但是翻譯效果慘不忍睹(誰叫電腦是美國發明的呢),有很多亂碼,是以需要改善一下,
1、修改系統配置檔案,讓web頁面支援簡體中文顯示,新版本其實已經改好,但是還是要注意這個地方,别被坑
<code>vi</code> <code>/data/htdocs/www/zabbix/include/locales</code><code>.inc.php </code>
<code>'zh_CN'</code> <code>=> array(</code><code>'name'</code> <code>=> _(</code><code>'Chinese (zh_CN)'</code><code>), </code><code>'display'</code> <code>=> </code><code>false</code><code>),</code>
<code>#修改為</code>
<code>'zh_CN'</code> <code>=> array(</code><code>'name'</code> <code>=> _(</code><code>'Chinese (zh_CN)'</code><code>), </code><code>'display'</code> <code>=> </code><code>true</code><code>),</code>
2、替換監控圖像上系統預設的字型,預設字型如果不替換,圖像上會顯示亂碼
在Windows系統中的C:\Windows\Fonts目錄中複制出一個中文字型檔案,例如msyh.ttf是微軟雅黑
<code>#把字型檔案msyh.ttf上傳到zabbix站點根目錄下fonts檔案夾中</code>
<code>cp</code> <code>-ar msyh.ttf </code><code>/data/htdocs/www/zabbix/fonts/msyh</code><code>.ttf</code>
<code>#備份預設的字型檔案:</code>
<code>mv</code> <code>DejaVusSans.ttf DejaVusSans.ttf.bak</code>
<code>#修改msyh.ttf名稱為DejaVusSans.ttf</code>
<code>mv</code> <code>msyh.ttf DejaVusSans.ttf</code>
最後,在web界面修改配置資訊,把預設語言修改為簡體中文,這個後面再說明在哪裡改
Language:Chinese(zh_CN)
安裝web:
這個步驟主要是在web運作,zabbix的web和zabbix_server是兩回事,和zabbix_agent是三回事,是以配置都是不一樣的,下面來看看.
先打開已經配置好的web站點,你的LNMP環境沒問題就可以正常了.
進入http://10.27.X.X/zabbix 看到歡迎界面,直接右下角下一步:
<a href="http://s1.51cto.com/wyfs02/M00/8A/8F/wKiom1gz7PHhS04PAABpfAVb5qU526.png-wh_500x0-wm_3-wmp_4-s_311765877.png" target="_blank"></a>
這裡全是ok的話,你就可以下一步了.這裡是否ok取決于你LNMP的配置環境符不符合他的要求,有一個不ok,你就不能下一步了,這裡也看到了,php要5.4以上,還有一些特定的php配置.不過,如果不ok也會有提示的,隻要不是軟體版本不相容的問題,按着他提示的來改配置,也是能過的:
<a href="http://s3.51cto.com/wyfs02/M02/8A/8B/wKioL1gz7PKyhcFfAACfNa5-gA0004.png-wh_500x0-wm_3-wmp_4-s_2639419418.png" target="_blank"></a>
這一步就是配置資料庫了,你的zabbix_server是怎麼配置的,就怎麼配置吧,然後下一步就行,當然你要保證資料庫能連得上是吧:
<a href="http://s1.51cto.com/wyfs02/M00/8A/8B/wKioL1gz7PLzSgu2AACHikUC24k591.png-wh_500x0-wm_3-wmp_4-s_2060427496.png" target="_blank"></a>
這一步是确認你自己的位址和端口,要不是你自己閑的蛋疼做了什麼特殊的網絡配置,直接下一步就可以了:
<a href="http://s1.51cto.com/wyfs02/M00/8A/8F/wKiom1gz7PLQpahBAABn2Wxyoas188.png-wh_500x0-wm_3-wmp_4-s_681872929.png" target="_blank"></a>
這一步就是确認你之前送出過的資料,生成表單,然後送出,屬于檢查吧,檢查過沒問題就下一步吧:
<a href="http://s5.51cto.com/wyfs02/M01/8A/8F/wKiom1gz7POz3HsiAACW9vnZdhI452.png-wh_500x0-wm_3-wmp_4-s_950518127.png" target="_blank"></a>
這步就是完成配置了,直接點finish就行了,你的zabbix就配置完成了.
<a href="http://s5.51cto.com/wyfs02/M01/8A/8B/wKioL1gz7POyCKypAAB0oB4fnS0934.png-wh_500x0-wm_3-wmp_4-s_2020055096.png" target="_blank"></a>
登入使用:
詳細的使用方法會在下一篇深入探讨,這裡隻說明怎麼登入和簡單使用
預設的賬号:admin
預設的密碼:zabbix
Sign in 登入進去
當然你是可以改的,進去再改吧
<a href="http://s4.51cto.com/wyfs02/M01/8A/8C/wKioL1gz8Zrgdb3eAAAlRfrlx-M225.png-wh_500x0-wm_3-wmp_4-s_4133768252.png" target="_blank"></a>
進去了就是這樣,當然這是我有一些機器了,不要緊張為什麼和我不一樣:
<a href="http://s1.51cto.com/wyfs02/M01/8A/8C/wKioL1gz8X7jXudFAAEiu5aN1ys089.png-wh_500x0-wm_3-wmp_4-s_848636348.png" target="_blank"></a>
修改密碼和語言就點右上角的小人頭然後就出來一個修改框讓你改了,改成什麼你們随意:
<a href="http://s4.51cto.com/wyfs02/M00/8A/8F/wKiom1gz84-BJmkfAABgLWcu-Es840.png-wh_500x0-wm_3-wmp_4-s_593006784.png" target="_blank"></a>
想要添加使用者,就點選管理--使用者,去添加和修改使用者,你也可以添加使用者群組,還可以配置特定權限,這個自己摸索,不想詳細說明了
<a href="http://s3.51cto.com/wyfs02/M01/8A/8C/wKioL1gz9DyACaTKAACAAFOgN3E834.png-wh_500x0-wm_3-wmp_4-s_3342393313.png" target="_blank"></a>
然後,這就能用了,當然還要添加機器了,不然還看啥,不過要下一篇再詳細說明,敬請期待.
本文轉自arthur376 51CTO部落格,原文連結:http://blog.51cto.com/arthur376/1875442,如需轉載請自行聯系原作者