學習zabbix(二)

 

 

超大規模門戶網站集羣架構:
wKiom1hltqPBmHVsAABHQ5U8NAM606.jpgphp

運維30%的時間都在監控,監控要多維度;css

監控(單機監控(系統監控)、網絡監控、應用監控、分佈式監控);html

 

業務監控(業務指標-->流量分析-->輿論監控):前端

流量分析:node

SEOsearch engine optimization,指經過站內優化(好比網站結構調整、網站內容建設、網站代碼優化等)以及站外優化(好比網站站外推廣、網站品牌建設等)使網站知足搜索引擎收錄排名需求,在搜索引擎中提升關鍵詞排名,從而吸引精準用戶進入網站,得到免費流量,產生直接銷售或品牌推廣;嚴謹的定義以下:SEO是指在瞭解搜索引擎天然排名機制的基礎之上,對網站進行內部及外部的調整優化,改進網站在搜索引擎中關鍵詞的天然排名,得到更多的展示量,吸引更多目標客戶點擊訪問網站,從而達到網絡營銷及品牌建設的目標;搜索引擎檢索原則是不斷更改的,檢索原則的更改會直接致使網站關鍵字在搜索引擎上排名的變化,因此搜索引擎優化並不是一勞永逸);python

PRPR值全稱爲PageRank,網頁的級別技術,用來表現網頁等級的一個標準,是Google用於評測一個網頁「重要性」的一種方法,取自Google創始人Larry Page,它是Google排名運算法則(排名公式)的一部分,用來標識網頁的等級/重要性,級別從010級,10級爲滿分,PR值越高說明該網頁越受歡迎(越重要);例如:一個PR值爲1的網站代表這個網站不太具備流行度,而PR值爲710則代表這個網站很是受歡迎,或者說極其重要);mysql

PVpage view即頁面瀏覽量,一般是衡量一個網絡新聞頻道或網站甚至一條網絡新聞的主要指標,網頁瀏覽數是評價網站流量最經常使用的指標之一,監測網站PV的變化趨勢和分析其變化緣由是不少站長按期要作的工做,Page Views中的Page通常是指普通的html網頁,也包含phpjsp等動態產生的html內容,來自瀏覽器的一次html內容請求會被看做一個PV,逐漸累計成爲PV總數;用戶每1次對網站中的每一個網頁訪問均被記錄1次,用戶對同一頁面的屢次訪問,訪問量累計);linux

IP(獨立IP,是指獨立用戶/獨立訪客,指訪問某個站點或點擊某條新聞的不一樣IP地址的人數,在同一天的00:00-24:00內,獨立IP只記錄第一次進入網站的具備獨立IP的訪問者,假如一臺電腦關機了,30分鐘後重啓,再次訪問這個站那就再計算一次ip,在同一天內再次訪問該網站則不計數,獨立IP訪問者提供了必定時間內不一樣觀衆數量的統計指標,而沒有反應出網站的全面活動,好比你是ADSL撥號上網的,你撥一次號都自動分配一個ip,這樣你進入了本站,那就算一個ip,當你斷線了而沒清理cookie,以後又撥了一次號,又自動分配到一個ip,你再進來了本站,那麼又統計到一個ip,可是UV(獨立訪客)沒有變,由於2次都是你進入了本站);nginx

UVunique visitor,是指經過互聯網訪問、瀏覽這個網頁的天然人,網站獨立訪客);git

 

注:piwik.org(作統計分析,可定製、可開發、可架構;piwik is the leading open-source analytics platform that gives youmore than just powerful analytics:free open-source software;100% data ownership;user privacy protection;user-centric insights;customisable andextensible

 

網絡監控:

監控寶http://www.jiankongbao.com/);

smokepingrrdtool做者寫的,支持分佈式,是一款用於網絡性能監測的監控軟件,經過它能夠在本身公司IDC的網絡情況,如延時,丟包率,是否BGP多線等,經過rrdtool製圖方式,圖形化地展現網絡的時延狀況,進而可以清楚的判斷出網絡的即時通訊狀況)

 

 

應用監控(httpdnginxmemcachedredis):

httpd狀態監控:

[root@client ~]# rpm -qa httpd

httpd-2.2.15-54.el6.centos.x86_64

[root@client ~]# vim /etc/httpd/conf/httpd.conf

LoadModule status_module modules/mod_status.so

LoadModule info_module modules/mod_info.so

ExtendedStatus On

<Location /server-status>

    SetHandler server-status

    Order deny,allow

    Deny from all

    Allow from 10.96.20.89

</Location>

<Location /server-info>

    SetHandler server-info

    Order deny,allow

    Deny from all

    Allow from 10.96.20.89

</Location>

測試:http://10.96.20.118/server-status

wKioL1hlt0CAnKnyAAEFywXBUj0182.jpg

wKiom1hlt0zwbDvsAAB0sXkGl_s894.jpg

 

nginx狀態監控:

[root@server1 ~]# vim /etc/nginx/nginx.conf

http {

……

    server {

……

        location /nginx-status {

            stub_status on;

            access_log off;

            allow 10.96.20.89;

            deny all;

        }

    }

測試:http://10.96.20.113/nginx-status

wKiom1hlt6rzso9eAAA_3lCOEQA703.jpg

active connections   #(當前nginx正處理的活動鏈接數)

server accepts handled requests   #(總共處理了$1個鏈接;成功建立$2次握手(證實中間沒有失敗的);總共處理了$3個請求)

reading  #nginx當讀取到clientheader信息數)

writing  #nginx當前返回給clientheader信息數)

waiting  #(開啓keepalive的狀況下,這個值=active-(reading+writing),爲nginx已經處理完正在等候下一次請求指令的駐留鏈接)

注:生產中要開長鏈接keppalive,不然鏈接數過多會有不少TIME_WAITnginx用做LBupstream要做keepalive,默認不開啓;nginxbackend server要做keepaliveapp serverphppdo)要與MySQL server要做keepalivephpredis之間要做keepalivephpmemcached之間要做keepalive,還要有壓縮功能;

 

redis狀態監控:

#redis-cli info [server|clients|memory|persistence|stats|replication|cpu|cluster|keyspace]

[root@server1 ~]# redis-cli info

# Server

redis_version:3.0.7

redis_git_sha1:00000000

redis_git_dirty:0

redis_build_id:a54b0b3a63c1c32b

redis_mode:standalone

os:Linux 2.6.32-431.el6.x86_64 x86_64

arch_bits:64

multiplexing_api:epoll

gcc_version:4.4.7

process_id:2806

run_id:e9ce8a9e21c8ba87b46fd1d75d8078f26745ca3e

tcp_port:6379

uptime_in_seconds:19

uptime_in_days:0

hz:10

lru_clock:14918416

config_file:/etc/redis.conf

# Clients

connected_clients:1

client_longest_output_list:0

client_biggest_input_buf:0

blocked_clients:0

# Memory

used_memory:879256

used_memory_human:858.65K

used_memory_rss:2441216

used_memory_peak:879256

used_memory_peak_human:858.65K

used_memory_lua:36864

mem_fragmentation_ratio:2.78

mem_allocator:jemalloc-3.6.0

# Persistence

loading:0

rdb_changes_since_last_save:15003

rdb_bgsave_in_progress:0

rdb_last_save_time:1474536189

rdb_last_bgsave_status:ok

rdb_last_bgsave_time_sec:-1

rdb_current_bgsave_time_sec:-1

aof_enabled:1

aof_rewrite_in_progress:0

aof_rewrite_scheduled:0

aof_last_rewrite_time_sec:-1

aof_current_rewrite_time_sec:-1

aof_last_bgrewrite_status:ok

aof_last_write_status:ok

aof_current_size:519180

aof_base_size:519180

aof_pending_rewrite:0

aof_buffer_length:0

aof_rewrite_buffer_length:0

aof_pending_bio_fsync:0

aof_delayed_fsync:0

# Stats

total_connections_received:1

total_commands_processed:0

instantaneous_ops_per_sec:0

total_net_input_bytes:14

total_net_output_bytes:0

instantaneous_input_kbps:0.00

instantaneous_output_kbps:0.00

rejected_connections:0

sync_full:0

sync_partial_ok:0

sync_partial_err:0

expired_keys:0

evicted_keys:0

keyspace_hits:0

keyspace_misses:0

pubsub_channels:0

pubsub_patterns:0

latest_fork_usec:0

migrate_cached_sockets:0

# Replication

role:master

connected_slaves:0

master_repl_offset:0

repl_backlog_active:0

repl_backlog_size:1048576

repl_backlog_first_byte_offset:0

repl_backlog_histlen:0

# CPU

used_cpu_sys:0.03

used_cpu_user:0.00

used_cpu_sys_children:0.00

used_cpu_user_children:0.00

# Cluster

cluster_enabled:0

# Keyspace

db0:keys=4,expires=0,avg_ttl=0

[root@server1 ~]# redis-cli info stats

# Stats

total_connections_received:3

total_commands_processed:1

instantaneous_ops_per_sec:0

total_net_input_bytes:54

total_net_output_bytes:2142

instantaneous_input_kbps:0.00

instantaneous_output_kbps:0.00

rejected_connections:0

sync_full:0

sync_partial_ok:0

sync_partial_err:0

expired_keys:0

evicted_keys:0

keyspace_hits:0

keyspace_misses:0

pubsub_channels:0

pubsub_patterns:0

latest_fork_usec:0

migrate_cached_sockets:0

 

memcached狀態監控:

[root@server1 ~]# memcached -m 64 -n 48 -f 1.1 -vv -u nobody -d

[root@server1 ~]# netstat -tnulp | grep:11211

tcp       0      0 0.0.0.0:11211               0.0.0.0:*                   LISTEN      9983/memcached     

tcp       0      0 :::11211                    :::*                        LISTEN      9983/memcached     

udp       0      0 0.0.0.0:11211               0.0.0.0:*                               9983/memcached     

udp       0      0 :::11211                    :::*                                   9983/memcached     

[root@server1 ~]# telnet 10.96.20.113 11211

Trying 10.96.20.113...

<36 new auto-negotiating client connection

Connected to 10.96.20.113.

Escape character is '^]'.

stats

36: Client using the ascii protocol

<36 stats

STAT pid 9983

STAT uptime 212

STAT time 1474537274

STAT version 1.4.25

STAT libevent 2.0.22-stable

STAT pointer_size 64

STAT rusage_user 0.003999

STAT rusage_system 0.003999

STAT curr_connections 10

STAT total_connections 11

STAT connection_structures 11

STAT reserved_fds 20

STAT cmd_get 0

STAT cmd_set 0

STAT cmd_flush 0

STAT cmd_touch 0

STAT get_hits 0

STAT get_misses 0

STAT delete_misses 0

STAT delete_hits 0

STAT incr_misses 0

STAT incr_hits 0

STAT decr_misses 0

STAT decr_hits 0

STAT cas_misses 0

STAT cas_hits 0

STAT cas_badval 0

STAT touch_hits 0

STAT touch_misses 0

STAT auth_cmds 0

STAT auth_errors 0

STAT bytes_read 7

STAT bytes_written 0

STAT limit_maxbytes 67108864

STAT accepting_conns 1

STAT listen_disabled_num 0

STAT time_in_listen_disabled_us 0

STAT threads 4

STAT conn_yields 0

STAT hash_power_level 16

STAT hash_bytes 524288

STAT hash_is_expanding 0

STAT malloc_fails 0

STAT bytes 0

STAT curr_items 0

STAT total_items 0

STAT expired_unfetched 0

STAT evicted_unfetched 0

STAT evictions 0

STAT reclaimed 0

STAT crawler_reclaimed 0

STAT crawler_items_checked 0

STAT lrutail_reflocked 0

END

^]

telnet> quit

Connection closed.

<36 connection closed.

[root@server1 ~]#

 

 

單機監控:

IPMI是智能型平臺管理接口(Intelligent Platform Management Interface),是管理基於 Intel結構的企業系統中所使用的外圍設備採用的一種工業標準,該標準由英特爾、惠普、NEC、美國戴爾電腦和SuperMicro等公司制定,用戶能夠利用IPMI監視服務器的物理健康特徵,如溫度、電壓、風扇工做狀態、電源狀態等,並且更爲重要的是IPMI是一個開放的免費標準;自1998年,IPMI論壇建立了IPMI標準以來,其已經獲得了170 多家供應商的支持,這使得其逐漸成爲了一個完整地包括服務器和其餘系統(如存儲設備、網絡和通訊設備)的硬件管理規範,目前該標準最新版本爲IPMI 2.0,該版本在原有基礎上有了很多的改進,包括能夠經過串口、Modem以及Lan等遠程環境管理服務器系統(包括遠程開關機),以及在安全、VLAN 和刀片支持等方面的提升;IPMI針對大量監控、控制和自動回覆服務器的做業,提供了智能型的管理方式,此標準適用於不一樣的服務器拓撲學,以及WindowsLinux SolarisMac或是混合型的操做系統,此外,因爲IPMI可在不一樣的屬性值下運做,即便服務器自己的運做不正常,或是因爲任何緣由而沒法提供服務,IPMI仍可正常運做;

[root@test1 ~]# yum -y install OpenIPMI

 

根據服務類型肯定監控指標;肯定性能基準線;

 

cpumemoryiodisk ionetwork io):

cpu

cpu scheduler

cscontext switchcs的數目直接關係到cpu的利用率,若是cpu利用率保持在必定的均衡狀態,大量的cs是正常的);

run queues運行隊列(每一個processor運行隊列不超過過1-3個線程,一個雙處理器runqueues不要超過6個線程);

cpu utilization(若是一個cpu被充分使用,利用率分類之間均衡的比例應該是:65%-70%user space30%-35%kernel space0%-5%idle time);

 

注:GSLB Global Server Load Balance,全局負載均衡,做用:實如今廣域網(包括互聯網)上不一樣地域的服務器間的流量調配,保證使用最佳的服務器服務離本身最近的客戶,從而確保訪問質量;分類(基於DNS實現、基於重定向實現、基於路由協議實現);特色(能經過判斷服務器的負載,包括CPU佔用、帶寬佔用等數據,決定服務器的可用性,同時能判斷用戶(訪問者)與服務器間的鏈路情況,選擇鏈路情況最好的服務器,所以GSLB是對服務器和鏈路進行綜合判斷來決定由哪一個地點的服務器來提供服務,實現異地服務器羣服務質量的保證;使用範圍(有有多個站點的系統,最多見的是在CDN系統中做爲核心的流量調度系統);

 

電商架構:

browserbrowser對單個域名的內容下載是有限制的,用多域名解決;browser有三種緩存協商方法:最後修改時間If-Modified-SinceLast-Modifiedetag、過時時間;優化browser緩存;減小http請求數(合併css、合併js、圖片用背景偏移技術、前端用懶加載(yahoo的懶加載12條軍規)));

CDN(動態域名解析,智能DNS,反向代理緩存squid|varnish|GSLB);

LVS間高可用,其後用三個haproxy

LB(組件分離,如static.example.compic.example.comjs.example.comjob用於訪問後端動態內容生成靜態頁面;nginxopenfilesendfilekeepalivegzip),nginx+tomcat|php(鏈接頻率;lua+xss+sql注入+ua限制+頻率限制));

靜態頁面主備server間用rsync同步;

共享存儲(NFS|GlusterFS|MooseFS);

內部LBSOAuserprice、運費、購物車、規則);

ELK搜索;

JS(智能推薦,js+hadoop+mapreduce+mahout+MySQL);

mail(觸發式郵件、智能營銷類郵件);

SMS(觸發類、營銷類;億美軟通);

分佈式緩存(memcached|redis);

MQrabbitMQ|ActiveMQ);

DAL+MySQL|MongoDB|hadoop

 

[root@test1 ~]# which ethtool

/sbin/ethtool

[root@test1 ~]# ethtool eth0

Settings for eth0:

         Supportedports: [ TP ]

         Supportedlink modes:   10baseT/Half 10baseT/Full

                                 100baseT/Half100baseT/Full

                                 1000baseT/Full

         Supportedpause frame use: No

         Supportsauto-negotiation: Yes

         Advertisedlink modes:  10baseT/Half 10baseT/Full

                                 100baseT/Half100baseT/Full

                                 1000baseT/Full

         Advertisedpause frame use: No

         Advertisedauto-negotiation: Yes

         Speed:1000Mb/s

         Duplex:Full

         Port:Twisted Pair

         PHYAD:0

         Transceiver:internal

         Auto-negotiation:on

         MDI-X:Unknown

         SupportsWake-on: d

         Wake-on:d

         Currentmessage level: 0x00000007 (7)

                                   drv probe link

         Linkdetected: yes

 

[root@test1 ~]# yum -y install iftop   #display bandwidthusage on an interface by host,查看網絡流量,在clientserver之間交互的流量)

[root@test1 ~]# which iftop

/usr/sbin/iftop

[root@test1 ~]# iftop -n

 

 

tcp狀態11種(重點LISTENESTABLISHEDTIME_WAITCLOSE_WAIT):

[root@test1 ~]# netstat-ant | awk '/^tcp/{STATE[$NF]++}END{for (KEY in STATE) print KEY,STATE[KEY]}'

ESTABLISHED 5

LISTEN 16

[root@test1 ~]# which ss   #another utility toinvestigate sockets

/usr/sbin/ss

[root@test1 ~]# ss -ant | awk 'NR>1{STATE[$1]++}END{for (KEY in STATE) print KEY,STATE[KEY]}'

ESTAB 5

LISTEN 16

 

 

nmon,幫助在一個屏幕上顯示全部重要的性能優化信息,並動態地對其進行更新;分析 AIX Linux 性能的免費工具,這個高效的工具能夠工做於任何啞屏幕、telnet 會話、甚至撥號線路,另外它並不會消耗大量的 CPU 週期,一般低於百分之二,在更新的計算機上,其CPU使用率將低於百分之一;使用啞屏幕,在屏幕上對數據進行顯示,而且每隔兩秒鐘對其進行更新,然而,您能夠很容易地將這個時間間隔更改成更長或更短的時間段,若是您拉伸窗口,並在X WindowsVNCPuTTY 或相似的窗口中顯示這些數據,nmon 工具能夠同時輸出大量的信息;nmon 工具還能夠將相同的數據捕獲到一個文本文件,便於之後對報告進行分析和繪製圖形,輸出文件採用電子表格的格式.csv

http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

[root@test1 ~]# chmod 755 nmon16e_x86_rhel65

[root@test1 ~]#./nmon16e_x86_rhel65 --help

./nmon16e_x86_rhel65: invalid option -- '-'

Hint for nmon16e_x86_rhel65 version 16e

         FullHelp Info : nmon16e_x86_rhel65 -h

         On-screenStats: nmon16e_x86_rhel65

         DataCollection: nmon16e_x86_rhel65 -f [-s <seconds>] [-c <count>][-t|-T]

         CapacityPlan  : nmon16e_x86_rhel65 -x

Interactive-Mode:

         Readthe Welcome screen & at any time type: "h" for more help

         Type"q" to exit nmon

For Data-Collect-Mode

         -f            Must be the first option on theline (switches off interactive mode)

                       Saves data to a CSV Spreadsheetformat .nmon file in then local directory

                       Note: -f sets a defaults -s300-c288    which you can then modify

         FurtherData Collection Options:

         -s<seconds>  time between datasnapshots

         -c<count>    of snapshots beforeexiting

         -t            Includes Top Processes stats (-Talso collects command arguments)

         -x            Capacity Planning=15 min snapshotsfor 1 day. (nmon -ft -s 900 -c 96)

---- End of Hints

 

[root@test1 ~]# ./nmon16e_x86_rhel65

wKioL1hlurjRe1R3AABz5KowsP4223.jpg

m

wKioL1hlusXSV-ZRAABNiNvoOBg445.jpg

 

 

[root@test1 ~]# yum -y install screen   #screen manager with VT100/ANSI terminal emulation

具體使用(在編譯內核或執行腳本時,在須要很長時間的狀況下,用來防止終端意外終止致使內核編譯中斷或執行的腳本自動中止):

[root@test1 ~]# screen   #(會自動跳至一個全新的窗口)

[root@test1 ~]# ./test.sh   #(在新生成的窗口中執行腳本或編譯內核,而後直接ctrl+a,d退出到上一個窗口裏)

[root@test1 ~]# screen-list   #(使用-list-ls,查看當前開了幾個窗口;若要恢復某個使用-r

There is a screen on:

         30483pxs-0.test1   (Detached)

1 Socket in /var/run/screen/S-root.

[root@test1 ~]# screen -r 22862   #(恢復22862,剛執行腳本的那個窗口)

[root@test1 ~]# pstree   #(查出當前在哪一個bash下,若不用哪個bash直接ctrl+d

……

     ├─screen───bash───pstree

     ├─sshd───sshd───bash───screen

 

#top

#vmstat 1 10

#mpstat 1 10

 

[root@test1 ~]# free -m

            total       used       free    shared    buffers     cached

Mem:           474        437         37          0         12         63

-/+ buffers/cache:        361        113

Swap:        1983        344       1639

[root@test1 ~]# sync

[root@test1 ~]# echo 1 > /proc/sys/vm/drop_caches   #to free pagecache

[root@test1 ~]# echo 2 > /proc/sys/vm/drop_caches   #to free dentries and inodes

[root@test1 ~]# echo 3 > /proc/sys/vm/drop_caches   #to free pagecachedentriesinodes

[root@test1 ~]# free -m

            total       used       free    shared    buffers     cached

Mem:           474        368        105          0          0         11

-/+ buffers/cache:        357        117

Swap:         1983        344       1639

 

[root@test1 ~]# yum -y install iotop

[root@test1 ~]# iotop

Total DISK READ: 0.00 B/s | Total DISKWRITE: 0.00 B/s

 TID  PRIO  USER    DISK READ  DISK WRITE  SWAPIN    IO>    COMMAND          

 2560be/4 root        0.00 B/s    0.00 B/s 0.00 %  0.00 % python2.6~-master-d

    1be/4 root        0.00 B/s    0.00 B/s 0.00 %  0.00 % init

    2be/4 root        0.00 B/s    0.00 B/s 0.00 %  0.00 % [kthreadd]

    3rt/4 root        0.00 B/s    0.00 B/s 0.00 %  0.00 % [migration/0]

    4be/4 root        0.00 B/s    0.00 B/s 0.00 %  0.00 % [ksoftirqd/0]

……

 

 

 

zabbix安裝:

test1192.168.23.129server-sideand agent-side);

test2192.168.23.130agent-side);

[root@test1 ~]# uname -rm

2.6.32-431.el6.x86_64 x86_64

[root@test1 ~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 6.5(Santiago)

[root@test1 ~]# ls /etc/yum.repos.d   #(準備163yum源)

CentOS6-Base-163.repo        epel-testing.repo

epel-release-6-8.noarch.rpm  rhel-source.repo.backup_20161102

epel.repo

 

test1

[root@test1 ~]# yum -y install zabbix22-server zabbix22-web zabbix22-web-mysql zabbix22-dbfiles-mysql zabbix22-agent mysql-server mysql php php-devel php-mysql

[root@test1 ~]# service mysqld start

[root@test1 ~]# mysql

mysql> CREATE DATABASE zabbix CHARACTER SET utf-8;   #(字符集要是utf8

mysql> SHOW CREATE DATABASE zabbix;

+----------+-----------------------------------------------------------------+

| Database | Create Database                                                 |

+----------+-----------------------------------------------------------------+

| zabbix  | CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET utf8 */ |

+----------+-----------------------------------------------------------------+

1 row in set (0.00 sec)

mysql> GRANT ALL ON zabbix.* TO 'zabbix'@'192.168.23.129' IDENTIFIED BY 'zabbix';

Query OK, 0 rows affected (0.00 sec)

[root@test1 ~]# cd /usr/share/zabbix-mysql/; ls   #schema.sql各類表結構;images.sql基本數據;data.sql自帶模板;這三個DB腳本導入時有前後順序,先schema.sqlimages.sql最後data.sql

data.sql  images.sql schema.sql  upgrades

[root@test1 zabbix-mysql]# mysql -u root -p zabbix < schema.sql   #(默認密碼爲空)

Enter password:

[root@test1 zabbix-mysql]# mysql -u root -p zabbix < images.sql

Enter password:

[root@test1 zabbix-mysql]# mysql -u root -p zabbix < data.sql

Enter password:

[root@test1 zabbix-mysql]# mysql -e 'USE zabbix;SHOW TABLES;'

……

[root@test1 zabbix-mysql]# vim /etc/zabbix_server.conf

DBHost=192.168.23.129

DBPassword=zabbix

[root@test1 zabbix-mysql]# vim /etc/zabbix_agentd.conf   #(更改/etc/zabbix_agentd.conf/etc/zabbix_agent.conf是模板文件)

Server=192.168.23.129

[root@test1 zabbix-mysql]# grep '^[a-Z]' /etc/zabbix_server.conf

LogFile=/var/log/zabbixsrv/zabbix_server.log

LogFileSize=0

PidFile=/var/run/zabbixsrv/zabbix_server.pid

DBName=zabbix

DBUser=zabbix

DBHost=192.168.23.129

DBPassword=zabbix

DBSocket=/var/lib/mysql/mysql.sock

AlertScriptsPath=/var/lib/zabbixsrv/alertscripts

ExternalScripts=/var/lib/zabbixsrv/externalscripts

TmpDir=/var/lib/zabbixsrv/tmp

[root@test1 zabbix-mysql]# grep '^[a-Z]' /etc/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

Server=192.168.23.129

ServerActive=127.0.0.1

Hostname=Zabbix server

[root@test1 zabbix-mysql]# service zabbix-server start

Starting Zabbix server:                                    [  OK  ]

[root@test1 zabbix-mysql]# service zabbix-agentd start

Starting Zabbix agent:                                     [  OK  ]

[root@test1 zabbix-mysql]# ps aux | grep zabbix

……

[root@test1 zabbix-mysql]# netstat -tnulp | grep zabbix

tcp       0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      24172/zabbix_agentd

tcp       0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      24202/zabbix_server

tcp       0      0 :::10050                    :::*                        LISTEN      24172/zabbix_agentd

tcp       0      0 :::10051                    :::*                        LISTEN      24202/zabbix_server

[root@test1 zabbix-mysql]# ls /etc/httpd/conf.d   #(查看有zabbix.conf

mod_dnssd.conf  php.conf README  welcome.conf  zabbix.conf

[root@test1 zabbix-mysql]# service httpd start

Starting httpd: httpd: Could not reliablydetermine the server's fully qualified domain name, using 192.168.23.129 forServerName

                                                          [  OK  ]

 

 

test2

[root@test2 ~]# yum -y install zabbix22-agent

[root@test2 ~]# vim /etc/zabbix_agentd.conf 

Server=192.168.23.129

[root@test2 ~]# service zabbix-agentd start

Starting Zabbix agent:                                     [  OK  ]

[root@test2 ~]# netstat -tnulp | grep zabbix

tcp       0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      95294/zabbix_agentd

tcp       0      0 :::10050                    :::*                        LISTEN      95294/zabbix_agentd

 

 

訪問http://192.168.23.129/zabbix

wKioL1hlvvXTfrSrAABbZm96xfw024.jpg

Next

wKiom1hlvwjyFOONAACKoC3y9z0450.jpg

[root@test1 zabbix-mysql]# vim /etc/php.ini   #(此處,改跳紅的部分;PRCpeople'srepublic of china

[PHP]

post_max_size = 16M

max_execution_time = 300

max_input_time = 300

[Date]

date.timezone = RPC

[root@test1 zabbix-mysql]# service httpd restart

Stopping httpd:                                            [ OK  ]

Starting httpd: httpd: Could not reliablydetermine the server's fully qualified domain name, using 192.168.23.129 forServerName

                                                          [  OK  ]

wKioL1hlvxXSUQTNAACD1MYDsok363.jpg

wKioL1hlvyCQbYERAAB2f1VyynU089.jpg

Database host192.168.23.129

Database port0表示默認,即3306

Userzabbix

Passwordzabbix

Test connection-->Next

wKiom1hlvzDjckDnAABlw9c1K9A915.jpg

Host192.168.23.129

Port10051

Nameu

Next

wKioL1hlv0HzMtGbAAB74c0AzRk569.jpg

Next

wKiom1hlv1PxVnZRAABYqKkVLRU787.jpg

Finish

[root@test1 zabbix-mysql]# ll /etc/zabbix/web/zabbix.conf.php

-rw-r--r--. 1 apache apache 427 Nov  5 20:42 /etc/zabbix/web/zabbix.conf.php

wKioL1hlv2PTmmBGAAA_r2nfV2c889.jpg

UsernameAdmin

Passwordzabbix

 

若切至中文有亂碼,解決辦法:

1、查看/etc/httpd/conf.d/zabbix.conf得知zabbix網頁目錄爲/usr/share/zabbix/

2、查看/usr/share/zabbix/include/defines.inc.php得知字體目錄位置:

define('ZBX_FONTPATH',                          '/usr/share/fonts/dejavu');// where to search for font (GD > 2.0.18)

define('ZBX_GRAPH_FONT_NAME',           'DejaVuSans'); // font file name

3、將win中的任意字體(控制面板-->字體,例如仿宋或華文雅黑)複製到/usr/share/fonts/dejavu/下並覆蓋更名爲DejaVuSans.ttf

 

wKiom1hl4zmBFU3XAAERyZqnvK8180.jpg

 

關閉guest用戶,改Admin密碼:

Administration-->Users-->GuestsDisabled selectedGo(1),肯定

Administration-->Users-->Members列的Admin(Zabbix administrators),點Change password

 

注:下圖,監控中、資產記錄、報表、組態、管理;

wKiom1hl42KChZcdAAAmecwX1wk554.jpg

Administrationsuper admin才能看到,標籤有:

通常;

分佈管理;

認證(internalldaphttp);

用戶(重要,權限是根據用戶組設的,生產中不一樣的部門爲不一樣的用戶組);

示警媒介類型(默認三種emailjabbersms,若用email本地要啓動相關的服務還要認證,一般使用自定義腳本);

腳本;

審計(誰幹了什麼事);

隊列;

警報;

安裝;

 

右上角Profile,可改languagetheme

wKioL1hl44XxQUAuAACFyRzhYko349.jpg

 

注:不容許監控項中的觸發器是關閉狀態,可先設爲「維護模式」

 

wKioL1hl46bRgYeWAAAgw6yeOak554.jpg

組態中,標籤有:

主機羣組;

模板;

主機;

維修;

動做;

篩選;

簡報片展現;

拓撲圖;

搜索;

IT服務;

 

Configuration-->Hosts中,若Availability爲紅色的Z,點開其NameIP改成192.168.23.129

 

添加主機:

Configuration-->HostsCreatehost-->

Host nametest2

Visable nametest2

New groupdemo

IP address192.168.23.130

Port10050

StatusMonitored

wKiom1hl48KyGeWvAABBqhftEH8754.jpg

Host標籤旁的Templates,在Link new templates中搜索linux,選Template OS LinuxAdd-->Save

 

Macros(宏,即變量,若用中文版爲巨集)

Host inventory(主機資產記錄,手動、自動)

 

Monitoring中,標籤有:

DashBoard儀表板;

總覽;

web

最近數據;

觸發器(事件管理、故障管理、問題管理;

事件;

圖形(GroupHostGraph;若字符集有問題,將win的微軟雅黑copyzabbix server);

篩選(經常使用,點右上角「+」,在儀表板中查看「經常使用的篩選」,在「組態」中選「篩選配置」);

拓撲圖;

探索;

IT服務;

wKiom1hl5FyTfzK-AAAkJPNrZJY472.jpg

Monitoring-->Dashboard-->PERSONALDASHBOARD

system status

host status

web monitoring

last 20 issues(最近20個議題,最近發生的事件)

wKioL1hl5G7yXqHPAADhoghO4Ic038.jpg

 

 

 

添加報警:

注:報警針對用戶和用戶組;生產環境最好有短信平臺,或晚上用SMS,白天email

Administration-->Users-->Zabbixadministrators旁的Users-->右上角Create UserUser標籤(Aliasdemo),Namedemo),GroupsZabbix administrators),Passworddemo)兩次,勾選Auto-login-->Media標籤,AddTypeEmail),Send to*@163.com),Add-->Permissions標籤(User-typeZabbix Super Admin-->Save

wKiom1hl5IHDix3wAACCezBQpLI555.jpg

wKioL1hl5JDS_DeiAACcYuB5wow783.jpg

wKiom1hl5J7hNVXsAABwa4XkAQ8931.jpg

 

右上角logout,用demo登陸;

注:Configuration-->Templates中的Applications應用集是監控項的集合,Item項目是監控的最小單位,有的TemplatesTriggers有的沒

 

注:在test2上設置檢測腳本,由於test1zabbix-server要用到DB

Configuration-->Hosts,選test2中的Items-->點右上角Createitem,以下圖建立,Namemysql_check),Keymysql_alive),update interval(in sec)60),new flexible interval300-->Addnew applicationMySQL),DescriptionMySQL Check-->Save

wKiom1hl5KqSRF1zAACvMY54Gxw463.jpg

 

[root@test2 ~]# vim /etc/zabbix/zabbix_agentd.conf

UserParameter=mysql_alive,mysqladminping | grep -c alive

[root@test2 ~]# service zabbix-agentdrestart

Shutting down Zabbix agent:                                [  OK  ]

Starting Zabbix agent:                                     [  OK  ]

 

Configuration-->Hosts,選test2triggers,右上角Createtrigger-->NameMySQL down),Expression(點Add,以下圖,點Selecttest2mysql_checkFunction(選Last (most recent) T value is NOT NN1))-->Insert-->Severitydisaster 

wKioL1hl5U-xATTrAABSXnlC8aY706.jpg

Trigger標籤旁邊的Dependencies-->Add,選Zabbix agent on {HOST.NAME} is unreachable for 5minutes-->Save

wKioL1hl5X3zqWdOAAA5IhwTfTw753.jpg

 

 

Configuration-->Hosts,選test2graph,右上角CreategraphNamemysql status),Graph typeNormal),Items-->Add,選test2mysql_check,點Graph標籤旁邊的Preview可預覽-->Save

wKiom1hl5aqg8oUVAAA6714-qKQ269.jpg

 

Configuration-->Actions,將Reportproblems to Zabbix administratorsstatus改成Enabled-->Report problems to Zabbix administratorsAction標籤中的項(要精簡,一條短信是70個字符),ConditionsOperationsOperation detailsfrom 1 to 3,第1次到第3次報警每次發送通知給指定的人,Operation typeSend message-->先點Update-->Save

wKiom1hl5cXQVj3wAAC0QPzPaVE668.jpg

wKioL1hl5dfiZ7qJAABgdQpqyeU743.jpg

wKioL1hl5eSR3kSRAABjMqQ2WGE456.jpg

 

[root@test1 ~]# vim /etc/zabbix_server.conf

AlertScriptsPath=/var/lib/zabbixsrv/alertscripts

[root@test1 ~]# cd /var/lib/zabbixsrv/alertscripts/   #(此目錄下的腳本必須支持三個參數,介質參數(email or SMS),titlecontent

[root@test1 alertscripts]# service postfix restart

Shutting down postfix:                                     [  OK  ]

Starting postfix:                                         [  OK  ]

[root@test1 alertscripts]# vim send_mail.sh

#!/bin/bash

#

MAIL_TITLE=$2

MAIL_CON=$3

echo "$MAIL_CON" | /bin/mail -s "$MAIL_TITLE" $1

echo "$1 $2 $3" >> /tmp/alert

[root@test1 alertscripts]# chmod 755 send_mail.sh

 

Administration-->Media types-->Create media typeNamesend_mail),TypeScript),Script name(會自動生成),勾選Enabled-->Save

wKiom1hl5iKACvLPAAA7so4vjg4676.jpg

 

Configuration-->Actions-->Report problems to Zabbix administrators-->OperationsEditOperation details中,User groupzabbix administratorSend only tosend_mail-->Update-->Save

wKiom1hl5yawJm-LAABh7K6Kr6o004.jpg

 

 

Administration-->Users-->demo-->Media-->AddTypesend_mail),Send tojowinchai@163.com-->Add-->Save

wKioL1hl5sSDTPD3AACZvGshKx0615.jpg

Administration-->Users-->Admin-->Media-->AddTypesend_mail),Send toroot@localhost-->Add-->Save

wKiom1hl5q3i2S8nAACbqJ1RPso896.jpg

 

設置報警聲音:

右上角Profile-->Messaging標籤,勾選Frontend messaging

wKioL1hl5pqClAe3AACRhRwzp38672.jpg

 

測試:

test2mysqld停掉,#service mysqld stop|start

Monitoring-->Dashboard中查看System statusHost statusLast 20issues中的Actions

[root@test1 ~]# less /var/log/zabbixsrv/zabbix_server.log

……

[root@test1 ~]# tail -f /var/log/maillog

……

相關文章
相關標籤/搜索