2013年3月4日月曜日

zabbix-agent2.0のインストール(監視対象サーバー用)

前回のWebインターフェイスの設定に続き、今回は監視対象サーバーのzabbix-agentのインストールを行いたいと思います。

■zabbixのインストール

zabbix-agentパッケージがzabbixパッケージの依存関係にあるため、
先にzabbixパッケージをインストールする必要がある。
# rpm -ivh zabbix-agent-2.0.5-1.el6.x86_64.rpm
エラー: 依存性の欠如:
        zabbix = 2.0.5-1.el6 は zabbix-agent-2.0.5-1.el6.x86_64 に必要とされています
ダウンロードする
# wget http://repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-2.0.5-1.el6.x86_64.rpm
--2013-02-16 18:02:09--  http://repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-2.0.5-1.el6.x86_64.rpm
www.kodai74.net をDNSに問いあわせています... 66.117.3.248
www.kodai74.net|66.117.3.248|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 120588 (118K) [text/plain]
`zabbix-2.0.5-1.el6.x86_64.rpm' に保存中

100%[==============================================================================================================================================================>] 120,588      226K/s 時間 0.5s

2013-02-16 18:02:10 (226 KB/s) - `zabbix-2.0.5-1.el6.x86_64.rpm' へ保存完了 [120588/120588]
インストールする
# rpm -ivh zabbix-2.0.5-1.el6.x86_64.rpm
準備中...                ########################################### [100%]
   1:zabbix                 ########################################### [100%]
■zabbix-agentのインストール ダウンロードする
# wget http://repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-agent-2.0.5-1.el6.x86_64.rpm
--2013-02-16 18:02:01--  http://repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-agent-2.0.5-1.el6.x86_64.rpm
www.kodai74.net をDNSに問いあわせています... 66.117.3.248
www.kodai74.net|66.117.3.248|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 140372 (137K) [text/plain]
`zabbix-agent-2.0.5-1.el6.x86_64.rpm' に保存中

100%[==============================================================================================================================================================>] 140,372      257K/s 時間 0.5s

2013-02-16 18:02:02 (257 KB/s) - `zabbix-agent-2.0.5-1.el6.x86_64.rpm' へ保存完了 [140372/140372]
インストールする
# rpm -ivh zabbix-agent-2.0.5-1.el6.x86_64.rpm
準備中...                ########################################### [100%]
   1:zabbix-agent           ########################################### [100%]
■インストールされた内容の確認 zabbixの内容を確認する
# rpm -qs zabbix
通常          /etc/zabbix
通常          /usr/share/doc/zabbix-2.0.5
通常          /usr/share/doc/zabbix-2.0.5/AUTHORS
通常          /usr/share/doc/zabbix-2.0.5/COPYING
通常          /usr/share/doc/zabbix-2.0.5/ChangeLog
通常          /usr/share/doc/zabbix-2.0.5/NEWS
通常          /usr/share/doc/zabbix-2.0.5/README
通常          /var/log/zabbix
通常          /var/run/zabbix
zabbix-agentの内容を確認する。
# rpm -qs zabbix-agent
通常          /etc/init.d/zabbix-agent
通常          /etc/logrotate.d/zabbix-agent
通常          /etc/zabbix/zabbix_agentd.conf
通常          /etc/zabbix/zabbix_agentd.d
通常          /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
通常          /usr/sbin/zabbix_agent
通常          /usr/sbin/zabbix_agentd
通常          /usr/share/doc/zabbix-agent-2.0.5
通常          /usr/share/doc/zabbix-agent-2.0.5/userparameter_examples.conf
通常          /usr/share/doc/zabbix-agent-2.0.5/zabbix_agent.conf
通常          /usr/share/man/man8/zabbix_agentd.8.gz
■zabbix-senderのインストール

特に必要がなければインストールする必要はありませんが、
動作の確認や、zabbix-serverへの収集データの送信をスクリプトで制御したりする場合に利用したりと、
意外に便利そうなので入れておきます(ΦωΦ)フフフ…
ダウンロードする
# wget http://repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-sender-2.0.5-1.el6.x86_64.rpm
--2013-02-18 11:13:31--  http://www.kodai74.net/packages/zabbix/zabbix-2.0/rhel/6/x86_64/zabbix-sender-2.0.5-1.el6.x86_64.rpm
www.kodai74.net をDNSに問いあわせています... 66.117.3.248
www.kodai74.net|66.117.3.248|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 57316 (56K) [text/plain]
`zabbix-sender-2.0.5-1.el6.x86_64.rpm' に保存中

100%[==========================================================================================>] 57,316       217K/s 時間 0.3s

2013-02-18 11:13:32 (217 KB/s) - `zabbix-sender-2.0.5-1.el6.x86_64.rpm' へ保存完了 [57316/57316]
インストールする
# rpm -ivh zabbix-sender-2.0.5-1.el6.x86_64.rpm
準備中...                ########################################### [100%]
   1:zabbix-sender          ########################################### [100%]
インストールされた内容を確認する
# rpm -qs zabbix-sender
通常          /usr/bin/zabbix_sender
通常          /usr/share/man/man1/zabbix_sender.1.gz
コマンドパスの確認
# which zabbix_sender
/usr/bin/zabbix_sender
■設定ファイルの編集
vi /etc/zabbix/zabbix_agentd.conf
# This is a config file for the Zabbix agent daemon (Unix)
# To get more information about Zabbix, visit http://www.zabbix.com

############ GENERAL PARAMETERS #################

### Option: PidFile
#       Name of PID file.
#
# Mandatory: no
# Default:
# PidFile=/tmp/zabbix_agentd.pid

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

### Option: LogFile
#       Name of log file.
#       If not set, syslog is used.
#
# Mandatory: no
# Default:
# LogFile=

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

### Option: LogFileSize
#       Maximum size of log file in MB.
#       0 - disable automatic log rotation.
#
# Mandatory: no
# Range: 0-1024
# Default:
# LogFileSize=1

LogFileSize=0

### Option: DebugLevel
#       Specifies debug level
#       0 - no debug
#       1 - critical information
#       2 - error information
#       3 - warnings
#       4 - for debugging (produces lots of information)
#
# Mandatory: no
# Range: 0-4
# Default:
#デバッグモードを
DebugLevel=4

### Option: SourceIP
#       Source IP address for outgoing connections.
#
# Mandatory: no
# Default:
# SourceIP=

### Option: EnableRemoteCommands
#       Whether remote commands from Zabbix server are allowed.
#       0 - not allowed
#       1 - allowed
#
# Mandatory: no
# Default:
#Zabbixサーバーからのリモートコマンドを許可するかどうかを設定します。
#0:許可しない,1:許可する
EnableRemoteCommands=1

### Option: LogRemoteCommands
#       Enable logging of executed shell commands as warnings.
#       0 - disabled
#       1 - enabled
#
# Mandatory: no
# Default:
#実行されたシェルコマンドの警告をログに記録するかを指定。
#0:無効,1:有効
LogRemoteCommands=1

##### Passive checks related

### Option: Server
#       List of comma delimited IP addresses (or hostnames) of Zabbix servers.
#       Incoming connections will be accepted only from the hosts listed here.
#       No spaces allowed.
#       If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.
#
# Mandatory: no
# Default:
# Server=
#Zabbix ServerのIPアドレス
Server=Zabbix ServerのIPアドレス

### Option: ListenPort
#       Agent will listen on this port for connections from the server.
#
# Mandatory: no
# Range: 1024-32767
# Default:
# ListenPort=10050

### Option: ListenIP
#       List of comma delimited IP addresses that the agent should listen on.
#       First IP address is sent to Zabbix server if connecting to it to retrieve list of active checks.
#
# Mandatory: no
# Default:
#自身のIPアドレス
ListenIP=自身のIPアドレス

### Option: StartAgents
#       Number of pre-forked instances of zabbix_agentd that process passive checks.
#       If set to 0, disables passive checks and the agent will not listen on any TCP port.
#
# Mandatory: no
# Range: 0-100
# Default:
# StartAgents=3

##### Active checks related

### Option: ServerActive
#       List of comma delimited IP:port (or hostname:port) pairs of Zabbix servers for active checks.
#       If port is not specified, default port is used.
#       IPv6 addresses must be enclosed in square brackets if port for that host is specified.
#       If port is not specified, square brackets for IPv6 addresses are optional.
#       If this parameter is not specified, active checks are disabled.
#       Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
#
# Mandatory: no
# Default:
# ServerActive=

ServerActive=127.0.0.1

### Option: Hostname
#       Unique, case sensitive hostname.
#       Required for active checks and must match hostname as configured on the server.
#       Value is acquired from HostnameItem if undefined.
#
# Mandatory: no
# Default:
# Hostname=
#自身のホスト名
Hostname=web04

### Option: HostnameItem
#       Item used for generating Hostname if it is undefined.
#       Ignored if Hostname is defined.
#
# Mandatory: no
# Default:
# HostnameItem=system.hostname

### Option: RefreshActiveChecks
#       How often list of active checks is refreshed, in seconds.
#
# Mandatory: no
# Range: 60-3600
# Default:
# RefreshActiveChecks=120

### Option: BufferSend
#       Do not keep data longer than N seconds in buffer.
#
# Mandatory: no
# Range: 1-3600
# Default:
# BufferSend=5

### Option: BufferSize
#       Maximum number of values in a memory buffer. The agent will send
#       all collected data to Zabbix Server or Proxy if the buffer is full.
#
# Mandatory: no
# Range: 2-65535
# Default:
# BufferSize=100

### Option: MaxLinesPerSecond
#       Maximum number of new lines the agent will send per second to Zabbix Server
#       or Proxy processing 'log' and 'logrt' active checks.
#       The provided value will be overridden by the parameter 'maxlines',
#       provided in 'log' or 'logrt' item keys.
#
# Mandatory: no
# Range: 1-1000
# Default:
# MaxLinesPerSecond=100

### Option: AllowRoot
#       Allow the agent to run as 'root'. If disabled and the agent is started by 'root', the agent
#       will try to switch to user 'zabbix' instead. Has no effect if started under a regular user.
#       0 - do not allow
#       1 - allow
#
# Mandatory: no
# Default:
# AllowRoot=0

############ ADVANCED PARAMETERS #################

### Option: Alias
#       Sets an alias for parameter. It can be useful to substitute long and complex parameter name with a smaller and simpler one.
#
# Mandatory: no
# Range:
# Default:

### Option: Timeout
#       Spend no more than Timeout seconds on processing
#
# Mandatory: no
# Range: 1-30
# Default:
#処理がタイムアウトになる秒数を設定(デフォルト3秒)
Timeout=10

### Option: Include
#       You may include individual files or all files in a directory in the configuration file.
#       Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.
#
# Mandatory: no
# Default:
# Include=
#includeされるディレクトリの確認(デフォルト値のまま)
Include=/etc/zabbix/zabbix_agentd.d/

# Include=/usr/local/etc/zabbix_agentd.userparams.conf
# Include=/usr/local/etc/zabbix_agentd.conf.d/

####### USER-DEFINED MONITORED PARAMETERS #######

### Option: UnsafeUserParameters
#       Allow all characters to be passed in arguments to user-defined parameters.
#       0 - do not allow
#       1 - allow
#
# Mandatory: no
# Range: 0-1
# Default:
# UnsafeUserParameters=0

### Option: UserParameter
#       User-defined parameter to monitor. There can be several user-defined parameters.
#       Format: UserParameter=<key>,<shell command>
#       See 'zabbix_agentd' directory for examples.
#
# Mandatory: no
# Default:
# UserParameter=
■zabbix-agent起動
#起動
# /etc/init.d/zabbix-agent start
Starting Zabbix agent:                                     [  OK  ]
状態の確認
# /etc/init.d/zabbix-agent status
zabbix_agentd (pid 8790 8789 8788 8787 8786 8784) を実行中...
自動起動
chkconfig zabbix-agent on
■zabbix-agentでのデータ収集がうまく行われない場合の確認方法について

zabbix-server側で、zabbix_getコマンドで確認してみる(`・ω・´)シャキーン
次のコマンドは、監視対象側のサーバー側にインストールされているzabbix-agentのバージョンを取得します。
# zabbix_get -s 監視対象サーバーIPアドレス -k agent.version
2.0.5
実行すると次のようなエラーが出る場合には、
iptablesなどでブロックされている可能性がある。
zabbix_get -s 監視対象サーバーIPアドレス -k agent.version
zabbix_get [9118]: Get value error: cannot connect to [[***.***.***.***]:10050]: [113] No route to host
ログに次のエラーメッセージが出ている場合には、
Received empty response from Zabbix Agent at[***.***.***.***]. Assuming that agent dropped connection because of access permiss
agentの設定ファイルのServerの値が正しくない可能性あり。
確認してみると、空行が出力される。
# zabbix_get -s 監視対象サーバーIPアドレス -k agent.version

# zabbix_get -s 監視対象サーバーIPアドレス -k agent.version
2.0.5
以上(`・ω・´)ゞビシッ!!

0 件のコメント:

コメントを投稿