Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Osc10do linux nextstep

1,828 views

Published on

Published in: Technology
  • Login to see the comments

Osc10do linux nextstep

  1. 1. Linux 、次の一歩 一般社団法人  LOCAL @smokeymonkey 【 企画セミナー】次の一歩・ OS 編
  2. 2. 自己紹介 <ul><li>@smokeymonkey </li></ul><ul><ul><li>一般社団法人 LOCAL 社員 </li></ul></ul><ul><ul><li>LOCAL インフラ部 所属 </li></ul></ul><ul><ul><li>北海道情報セキュリティ勉強会 副代表 </li></ul></ul><ul><ul><li>北海道開発オフ 所属 </li></ul></ul><ul><ul><li>仕事 : 中間管理職 </li></ul></ul>
  3. 3. はじめに <ul><li>本セミナーの主旨 </li></ul> 対象者: CentOS や FreeBSD をおっかなびっくり触ってる人、       仮想ソリューションをおそるおそる触ってる人    レベル:初心者向け  テーマ:「次の一歩」にそった、 LOCAL 企画セミナーです。        Web デザイナーやプログラマの方などに 次の一歩を踏み出してもらうために、        Linux や FreeBSD 、仮想化ソリューションを題材に、        次の一歩を踏み出すための秘訣を伝授します。
  4. 4. 「 Linux の次の一歩ってなんだろう?」 <ul><li>「Webデザイナーやプログラマの方などに次の一歩を踏み出してもらうために」 </li></ul><ul><ul><li>サーバ用途にLinuxをインストールした。 </li></ul></ul><ul><ul><li>設定したLinuxにコンテンツを載せた。 </li></ul></ul><ul><ul><li>コンテンツを公開した。 </li></ul></ul><ul><li>  -> じゃあ次は? </li></ul>
  5. 5. こう考えました <ul><li>当たり前のことだけど・・・ </li></ul><ul><li>「システムは動いてナンボ」 </li></ul><ul><ul><li>動き始めただけでは意味が無い。 </li></ul></ul><ul><ul><li>動き続ける、使われ続けることに意味がある。 </li></ul></ul><ul><ul><li>じゃあLinuxを 保守・運用の観点 から一歩踏み出してみよう! </li></ul></ul>
  6. 6. 運用保守におけるシステム監視 <ul><li>外部監視 </li></ul><ul><ul><li>対象機器の外側から状態を監視するもの </li></ul></ul><ul><ul><ul><li>逆に言えば、対象機器の内側からでは監視できないもの </li></ul></ul></ul><ul><ul><li>疎通監視、サービス監視 </li></ul></ul><ul><li>内部監視 </li></ul><ul><ul><li>対象機器の内側から状態を監視するもの </li></ul></ul><ul><ul><li>プロセス監視、リソース監視、ログ監視 </li></ul></ul>
  7. 7. 外部監視の種類 <ul><li>疎通監視 </li></ul><ul><ul><li>ネットワーク的な接続状態の監視 ( 主に Ping) </li></ul></ul><ul><li>サービス監視 </li></ul><ul><ul><li>特定のサービス ( ネットワークで言うポート ) が稼動状態にあるかどうかを監視する。 </li></ul></ul><ul><ul><li>単純にサービスが接続可能であるか、だけでは無く、サービス応答まで監視できるものもある。 </li></ul></ul><ul><ul><ul><li>例えば特定の Web コンテンツにアクセスできるか、等。 </li></ul></ul></ul>
  8. 8. 内部監視の種類 <ul><li>プロセス監視 </li></ul><ul><ul><li>特定のプロセスが起動状態にあるかどうかを監視する。 </li></ul></ul><ul><li>リソース監視 </li></ul><ul><ul><li>リソースの負荷を監視する。 </li></ul></ul><ul><ul><li>一時的な過負荷であるかを判断するためには、日々リソースの使用率を計測しておく必要がある。 </li></ul></ul><ul><li>ログ監視 </li></ul><ul><ul><li>ログファイルに対し、特定のキーワードの出力状態を監視する。 </li></ul></ul><ul><ul><ul><li>例 :ERROR 、 WARN 、 link down 等。 </li></ul></ul></ul>
  9. 9. 内部監視を実現するパッケージ <ul><li>プロセス監視 </li></ul><ul><ul><li>Monit </li></ul></ul><ul><li>リソース監視 </li></ul><ul><ul><li>MRTG </li></ul></ul><ul><li>ログ監視 </li></ul><ul><ul><li>logwatch </li></ul></ul>
  10. 10. Monit <ul><li>プロセス監視を行うパッケージ </li></ul><ul><ul><li>監視したいプロセスを指定して </li></ul></ul><ul><ul><li>特定の条件の検知して </li></ul></ul><ul><ul><li>指定したアクションを行う。 </li></ul></ul><ul><ul><ul><li>例 :httpd が down したら restart する。 </li></ul></ul></ul><ul><ul><ul><li>例 :postfix の CPU 使用率が 90% を超えたら restart する。 </li></ul></ul></ul><ul><li>公式 (http://mmonit.com/monit/) </li></ul>
  11. 11. Monit のインストール <ul><li>公式から Link されたパッケージ置き場 (http://dag.wieers.com/rpm/packages/monit/) から RPM パッケージをダウンロードする。 </li></ul># rpm –ivh monit-4.9-2.el5.rf.i386.rpm
  12. 12. Monit の簡単な設定 <ul><li>/etc/monit.conf </li></ul><ul><li>/etc/monit.d/* </li></ul># vi /etc/monit.conf set daemon 120 Include /etc/monit.d/* ※ 例 :httpd が down したら restart するように # vi /etc/monit.d/httpd.conf check process httpd with pidfile /var/run/httpd.pid   start program = “/etc/init.d/httpd start”   stop program  = “/etc/init.d/httpd stop”  if failed port 80 protocol HTTP then restart
  13. 13. 例 : 実際に httpd を落としてみる # /etc/init.d/monit start Process Monitor (monit) を起動中 : Starting monit daemon                                                           [  OK  ] # ps aux | grep httpd root     29237  0.0  0.2   9944  2904 ?        Ss   23:08   0:00 /usr/sbin/httpd apache   29238  0.0  0.1   9944  2068 ?        S    23:08   0:00 /usr/sbin/httpd ... # /etc/init.d/httpd stop httpd を停止中 :                                            [  OK  ] ※ しばらく待機… # ps aux | grep httpd root     29393  0.1  0.2   9944  2912 ?        Ss   23:12   0:00 /usr/sbin/httpd apache   29394  0.0  0.1   9944  2060 ?        S    23:12   0:00 /usr/sbin/httpd ...
  14. 14. MRTG <ul><li>リソース監視を行うパッケージ </li></ul><ul><ul><li>公式より引用->「 The Multi Router Traffic Grapher (MRTG) はネットワークの負荷を監視するツールです」 </li></ul></ul><ul><ul><li>現在は各システムリソースを ( 主に SNMP 経由で ) 取得、可視化し、監視する用途で使われている。 </li></ul></ul><ul><li>公式 (http://www.mrtg.jp/doc/) </li></ul>
  15. 15. 「SNMP」とは <ul><li>「 Simple Network Management Protocol (シンプル ネットワーク マネージメント プロトコル、 SNMP )は、 DARPA モデルに準じた IP  ネットワーク上のネットワーク機器を監視( モニタリング )・制御するための情報の通信方法を定めるプロトコルである。 」 (Wikipedia より ) </li></ul><ul><ul><li>つまり、 IP ネットワークの仕組みの上で、接続された機器 ( ノード ) の状態を監視したり、制御したりできる。 </li></ul></ul><ul><ul><li>Linux サーバも、 IP ネットワークに接続されていて、 SNMP が喋れれば、監視・制御が可能。 </li></ul></ul>
  16. 16. MRTG+net-snmp のインストール <ul><li>MRTG でデータを取得するために、 net-snmp を yum でインストール。 </li></ul><ul><li>MRTG を yum でインストール。 </li></ul># yum –y install net-snmp # yum –y install mrtg
  17. 17. net-snmp の簡単な設定 <ul><li>設定ファイルの編集 </li></ul><ul><li>Snmp daemon の起動 </li></ul># vi /etc/snmp/snmpd.conf com2sec local   localhost       private group   MyGroup v1             local group   MyGroup v2c            local view    all     included  .1 80 access  MyGroup &quot;&quot;      any       noauth    exact  all all none # /etc/init.d/snmpd start
  18. 18. MRTGの簡単な設定 <ul><li>設定ファイルの作成->実行 </li></ul># cfgmaker private@127.0.0.1 > /etc/mrtg/mrtg.cfg # vi /etc/mrtg/mrtg.cfg ※ 最低限 WorkDir だけ設定しないと動きません。 #  LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg ※ 最初は LOG ファイルが無かったりで 2 回ほど WORNING が出ます。
  19. 19. こんな感じ
  20. 20. 活用例 <ul><li>CPU 使用率を取得する </li></ul><ul><li>メモリ使用率を取得する </li></ul><ul><li>パーティション使用率を取得する </li></ul><ul><li>閾値超過時に通知する ( ThreshProgI/O 、 ThreshProgOKI/OKO ) </li></ul>
  21. 21. logwatch <ul><li>ログ監視するパッケージ。 </li></ul><ul><ul><li>CentOS ではデフォルトでインストールされている。 </li></ul></ul><ul><ul><li>仕組みだけ確認してみましょう。 </li></ul></ul>
  22. 22. Cron の設定を確認 <ul><li>毎日 4:22 に Perl スクリプトが動くように設定されている </li></ul># cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly # ls -alF /etc/cron.daily/0logwatch lrwxrwxrwx 1 root root 39  6 月   8 13:40 0logwatch -> /usr/share/logwatch/scripts/logwatch.pl*
  23. 23. logwatch で送信されるメール例 Subject : *** SECURITY information for localhost.localdomain *** localhost.localdomain :  6 月 10 21:47:37 : saru : user NOT in sudoers ; TTY=pts/1 ; PWD=/home/saru ; USER=root ; COMMAND=/usr/bin/yum install apache Subject : Cron <root@localhost> LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok 14-06-2010 22:00:02, Rateup WARNING: /usr/bin/rateup could not read the primary log file for 127.0.0.1_2
  24. 24. 統合監視システム <ul><li>システム監視を、個別の仕組みでは無く、統合的に行えるもの。 </li></ul><ul><li>複数機器を一括で管理可能。 </li></ul><ul><li>現在はインターフェースが日本語化されたものも多々ある。 </li></ul><ul><ul><li>ZABBIX </li></ul></ul><ul><ul><li>Hinemos </li></ul></ul><ul><li>導入コスト、運用コストが高いため、単体機器に対してはメリットが低く、複数の機器にて構成されたシステムにおいてメリットがある。 </li></ul>
  25. 25. ZABBIX
  26. 26. ZABBIX <ul><li>オフィシャル </li></ul><ul><ul><li>http://www.zabbix.com/ </li></ul></ul><ul><li>国内アンオフィシャルポータル </li></ul><ul><ul><li>http://www.zabbix.jp/ </li></ul></ul><ul><li>国内ベンダ </li></ul><ul><ul><li>Miracle </li></ul></ul><ul><ul><ul><li>http://www.miraclelinux.com/products/m_plus/zabbix/index.html </li></ul></ul></ul><ul><ul><li>NTT コムテクノロジー </li></ul></ul><ul><ul><ul><li>http://www.zabicom.com/ </li></ul></ul></ul>
  27. 27. Hinemos
  28. 28. Hinemos <ul><li>オフィシャル </li></ul><ul><ul><li>http://www.hinemos.info/ </li></ul></ul>
  29. 29. まとめ <ul><li>Linuxサーバを「構築」出来た方が、「運用」出来るようになること、を主旨として、ポインタをまとめてみました。 </li></ul><ul><li>システム運用にたった一つの「正解」は無く、日々改善していくことで「最適解」を探していくしかありません。 </li></ul><ul><li>皆さんの構築したLinuxサーバが、いつまでもいつまでも使われ続けますように  </li></ul>
  30. 30. <ul><li>以上、ありがとうございました。 </li></ul><ul><li>Next: FreeBSD 、次の一歩 </li></ul>

×