ラベル NewRelic の投稿を表示しています。 すべての投稿を表示
ラベル NewRelic の投稿を表示しています。 すべての投稿を表示

2015年7月15日水曜日

NewRelic にサーバのメトリックを送信してみた

概要

NewRelic で Server のメトリック (CPU, Memory, I/O, Network) を送信する方法を紹介します
過去に紹介したものはアプリ単位で監視する方法を紹介しました
NewRelic ではサーバのメトリック情報だけを送信することもできるのでその方法を紹介します

環境

  • CentOS 6.3 64bit
  • newrelic-sysmond 2.1.0
  • NewRelic 2015/07/14時点

メトリック送信用エージェントのインストール

今回は CentOS のサーバなので yumコマンドでインストール可能です

rpm -Uvh http://yum.newrelic.com/pub/newrelic/el5/x86_64/newrelic-repo-5-3.noarch.rpm
yum install newrelic-sysmond

License Key の設定

License Key は RewRelic の WebUI 上で確認することができます
Account settings に License Key の記載があるのでそれを設定ファイルに記載します

vim /etc/newrelic/nrsysmond.cfg

license_key=xxxxxxxx

エージェントの起動

service newrelic-sysmond start

で起動してしばらくすると NewRelic の Servers に対象のサーバのメトリックが表示されると思います

Tips

上手く監視できなかった場合は、NewRelic とサーバ間の Outgoing の ACL を確認してみましょう
通信するべきIPとポートの情報は以下を参考にしてみたください
wget できなければいけないドメインやIPが記載されています
https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/networks#availability

動作確認

NewRelic の UI で確認してみましょう
左上のメニュー一覧から「Servers」を選択します
newrelic_choice_servers.png

サーバの一覧が選択されます
newrelic_list_servers.png

メトリックの詳細を見たい場合は対象のサーバをクリックすると見れます
newrelic_detail_metric.png

最後に

前に試した記憶ではnewrelic-sysmondも自動でインストールされて起動されていた記憶があったのですが、今回新規のサーバを追加したらnewrelic-sysmondがインストールされていなかったので別途インストールしてみました
メトリックを見るためだけならNewRelicはめっちゃ簡単です

2014年11月20日木曜日

NewRelicを使ってZabbixサーバ自信を監視してみた

概要

Zabbixにはzabbix_server自信を監視する機能がない(というか無理)なので
外部の監視システム(今回はNewRelic)を使ってZabbix自体を監視してみました

環境

  • CentOS 6.3 64bit
  • Zabbix 2.0.3
  • NewRelic 2014/11/20時点

準備

まずはNewRelicでアカウント登録

基本は無料で登録使用できます
http://newrelic.com/
にアクセスして「Sign Up for New Relic」からアカウント登録できます
regist_newrelic.png

アカウント登録画面では全部の内容を入力します
内容に不備がある場合は登録しようとしてもエラーになります
内容に不備がある部分は赤字で怒られます
regist_account.png

注意するところは特にないですが
監視するサーバのプラットフォームを選択する部分があるので「PHP」を選択してください
会社名を入力する部分がありますない方は適当でもいいかもしれません(自分は一応所属する会社名を入力しました)

設定

エージェントインストール

NewRelicで監視するサーバにエージェントをインストールします
これがないと監視することができません

まずはNewRelicが提供するレポジトリをインストールします

rpm -Uvh http://yum.newrelic.com/pub/newrelic/el5/x86_64/newrelic-repo-5-3.noarch.rpm

リポジトリがインストールできたらyumコマンドで必要なパッケージをインストールしていきます

yum install newrelic-php5
  • newrelic-php5
  • newrelic-daemon
  • newrelic-php5-common

がインストールされます
インストール時にGPG keyをインポートしますと言われるのでyesにします

Importing GPG key 0x548C16BF:
Userid : New Relic <support@newrelic.com>
Package: newrelic-repo-5-3.noarch (installed)
From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-NewRelic
Is this ok [y/N]: y

エージェントをインストールする準備が整ったのでエージェントをインストールしていきます

newrelic-install install

インタラクティブモードでインストールすることになります
必要な内容を入力しながらインストールしていきます

ライセンスキーの入力

おそらくしょっぱなで入力することになります
以下が表示されたらライセンスキーを入力します

Enter New Relic license key (or leave blank):

ライセンスキーはNewRelicのARM(Application Performance Management)で取得することができます
get_license_key.png

たぶん設定するのはこれだけです
入力後にインストールが完了された旨の英語が出てくればインストール完了です

あとついでにchkconfigをONにしておきます

chkconfig newrelic-daemon on

監視状態の確認

エージェントがインストールできたら一旦zabbix_serverとhttpdを再起動します

service httpd restart
service zabbix-server restart

これで5分後くらいにARMを見ると監視が開始されていることを確認できると思います
watch_php_app.png

成功していると上図のような感じになります
Nameのリンクをクリックすると監視しているサーバの詳細な情報をグラフで確認できます
何の設定もしていないですが、Zabbixで使っているMySQLの監視も勝手にできているっぽいです

うまくいかない場合は/var/log/newrelic/newrelic-daemon.logというログを見てください
何か手がかりがあるかもしれません

ZabbixServerがダウンしたら通知するように設定

さてここからが本題です
ZabbixServerがダウンしたらメールで通知するようにしてみます

サイトの監視

所謂、80番ポート監視してみます
ARMで対象のアプリケーションを開いて左メニューから

Event -> Alerts -> Edit alert policy

を確認してみます、するとすでにアラートが設定されておりこれ利用することでサイトの監視をしてみます default_alerts.png

このアラートを見ると「1 application is missing a ping URL」という警告が出ていて、これが出ているとサイト監視ができていないことになります

左メニューから

SETTINGS -> Availability monitoring -> URL to monitor

にZabbixのURLを記載します
regist_zabbix_host.png

入力してから「Save your changes」とすれば設定完了です
再度Application alert policiesを見ると先ほどの警告が出ていないと思います
それでもアラートが出る場合はここに記載されているIPからの80番ポートアクセスをFWやiptablesに許可してみてください

この状態で試しにサーバを停止してみたらアカウント登録時に設定したメールアドレスにちゃんとサーバ死んだよメールが届きました
起動すれば復旧メールも届きます

一応これでサーバ自体がダウンした場合と80番でLISTENできなくなった場合はNewRelicから監視することができるようになりました

が、たとえばzabbix-serverのプロセス自体が死んだ場合やZabbixが使っているMySQLが死んだ場合は検知できない状態です
本当はそこまで監視したかったんですが、プラグインを作ったりしないといけなさそうだったのと自分のNewRelic力がなさすぎて今回はギブしました
時間があったらやってみようかな

参考サイト