こんにちは!いつもブログを読んでいただき、ありがとうございます。
今回は、主題2.04「システムの保守と運用管理」の最終回として、2.04.5 死活監視・リソース監視・運用監視ツール と 2.04.6 システム構成ツール を解説していきます!
「Nagiosって何をするツールなの?」「Ansibleのエージェントレスってどういう意味?」——この記事では、ツールの名前と特徴を把握することを中心に整理します。設定の細かいオプションよりも、「各ツールがどんな役割を持っているか」の概念理解が試験対策の中心になりますよ。
LinuC 201全体の学習ロードマップはこちらにまとめています♪
まずは、今回の範囲の重要度を確認しましょう。
| 主題番号 | テーマ | 重要度 |
|---|---|---|
| 2.04.5 | 死活監視、リソース監視、運用監視ツール | 2(5段階中) |
| 2.04.6 | システム構成ツール | 4(5段階中) |
⚠️ 重要度に注目! 2.04.6 は 重要度4 と、主題2.04の中で最も出題比率が高い分野です。Ansibleの概念・コマンド・ファイル構成は確実に得点源にしましょう!
監視の種類を整理しよう
まず「監視」には種類があります。試験では「どのツールがどの種類の監視に対応しているか」が問われます。
| 監視の種類 | 意味 | 代表的なツール |
|---|---|---|
| 死活監視 | サービス・ホストが「生きているか」を確認 | Nagios、Icinga2、Zabbix |
| リソース監視 | CPU・メモリ等の使用量を時系列で記録・可視化 | Zabbix、collectd、MRTG、Cacti |
| ログ監視 | ログを監視し、特定のパターンが出たらアラート | Nagios、Zabbix |
Nagios — 定番の死活監視ツール(★★★)
Nagios は、Linuxサーバやネットワークデバイスのホスト・サービスの死活監視を行うオープンソースツールです。
主な特徴:
- ホストやサービス(HTTP・SSH・DNSなど)の死活監視
- プラグインを実行することで監視を行うアーキテクチャ
- 障害発生時にメール・SMSなどでアラート通知
重要なファイル・ディレクトリ:
| ファイル / ディレクトリ | 内容 |
|---|---|
/etc/nagios/nagios.cfg | Nagios のメイン設定ファイル |
/usr/lib/nagios/plugins/ | 監視プラグインのディレクトリ |
/var/log/nagios/nagios.log | Nagios のログファイル |
よく使うチェックプラグイン(試験頻出!)
★ここがポイント! プラグインは必ず
check_から始まるコマンドとして提供されます。
| プラグイン名 | チェック内容 |
|---|---|
check_ping | ホストの死活確認(ICMPエコー) |
check_http | HTTP サービスの死活・レスポンス確認 |
check_disk | ディスク使用量の確認 |
check_nrpe | NRPE 経由でリモートホストを確認 |
NRPE(Nagios Remote Plugin Executor)とは?
リモートホストのリソース(CPUやディスクなど、外部から直接見えないもの)をNagiosから監視するためのエージェントプログラムです。
# リモートホストで NRPE を実行してチェックする
/usr/lib/nagios/plugins/check_nrpe -H 192.168.1.10 -c check_disk
📝 試験ポイント:「リモートホストの内部リソース監視 = NRPE」と結びつけて覚えましょう。
Icinga2 — Nagios の後継ツール(★★☆)
Icinga2 はNagiosをベースに開発された後継ツールです。設定ファイルの記述がシンプルになり、分散監視もしやすくなっています。Nagiosのプラグイン(check_*)をそのまま流用できる点が最大の特徴であり、試験でも問われます。
📝 試験ポイント:「Nagiosのプラグインと互換性がある後継ツールはどれか」という形で出題されることがあります。
Zabbix — 統合監視プラットフォーム(★★★)
Zabbix は、死活監視からリソース監視・グラフ化まで一体で提供する統合監視ツールです。
Zabbix の重要な概念(試験頻出!)
| 用語 | 意味 |
|---|---|
| アイテム(Item) | 収集するデータの種類(CPU使用率など) |
| トリガー(Trigger) | アラートを発動する条件(例:CPU使用率が80%超) |
| アクション(Action) | トリガー発動時の処理(メール送信など) |
| テンプレート(Template) | 上記の設定セットを再利用するための仕組み |
★ここがポイント! Zabbix は 「データを収集(Item)→ 条件を評価(Trigger)→ 通知する(Action)」 という流れで動作します。この順番と用語の意味を確実に覚えましょう。
📝 補足:ZabbixはZabbix Agentを導入することで詳細な監視が可能ですが、SNMPなどを使ったエージェントレスでの監視にも対応しています。試験でも「エージェントが必須か」という問いに対して注意が必要なポイントです。
collectd / MRTG / Cacti — 収集とグラフ化(★★☆)
シラバスに明記されているその他のツールです。「何をするツールか」の役割を押さえましょう。
| ツール | 主な用途 | 特徴 |
|---|---|---|
| collectd | リソースデータの収集・転送 | 軽量なデーモン。他ツールへ転送する役割 |
| MRTG | ネットワーク帯域のグラフ化 | SNMPでデータを取得し、グラフを生成する定番ツール |
| Cacti | リソースのグラフ化 | MRTGの後継的なツール。Web UI でグラフ管理 |
📝 試験ポイント:
collectdは「収集して転送する」、MRTG・Cactiは「グラフ化する」ツールです。collectdは単体では可視化(グラフ表示)を行わない点に注意しましょう。役割の違いを押さえておきましょう。
「構成管理」とは?
サーバが数十台になると、「全サーバに同じ設定をする」ことが手作業では困難になります。構成管理ツールを使うことで、サーバの設定をコードとして管理(Infrastructure as Code)し、一括適用・自動化が可能になります。
★ここがポイント! 2.04.6は重要度4と高いので、Ansible の概念・コマンド・ファイル構成を中心に丁寧に覚えていきましょう!
Ansible — エージェントレスの構成管理ツール(★★★★ 最重要!)
Ansible は、SSHを使ってリモートホストに接続し、設定を自動適用する構成管理ツールです。シラバスで最も詳しく記載されており、出題率も高い範囲です。
Ansible の基本概念(ここ、試験に出ます!)
| 用語 | 意味 |
|---|---|
| インベントリ(Inventory) | 管理対象のホスト一覧を記述するファイル |
| プレイブック(Playbook) | 実行する手順を YAML で記述したファイル |
| モジュール(Module) | Ansible が実行できる操作の単位(yum・service・copyなど) |
| タスク(Task) | プレイブック内のモジュールの実行単位 |
Ansible の重要なファイル
| ファイル | 役割 |
|---|---|
/etc/ansible/ansible.cfg | Ansible のメイン設定ファイル |
/etc/ansible/hosts | デフォルトのインベントリファイル |
アドホックコマンド(Ad-hoc command)とは?(試験頻出!)
Ansible には、プレイブックを使わずにコマンドラインから直接単一の処理を実行する 「アドホックコマンド(Ad-hoc command)」 という使い方があります。「プレイブックを書くほどでもない、一時的な操作」をしたいときに便利です。
# 接続確認(ping モジュールを使用)
ansible all -m ping
# 特定ホストグループ(webservers)に対してコマンドを実行する
ansible webservers -m command -a "uptime"
# パッケージをインストールする
ansible webservers -m yum -a "name=httpd state=present"
📝 試験ポイント:
ansible -m モジュール名 -a "引数"という構文がアドホックコマンドの基本形です。-mはモジュール(module)、-aは引数(argument)の指定です。プレイブックを使わずに単発の操作を実行する方法として出題されることがあります。
Playbook の基本構造(YAML形式)
プレイブックは YAML形式 で記述します。
# webserver_setup.yml
---
- name: Webサーバのセットアップ
hosts: webservers # インベントリのグループ名
become: yes # sudo で実行する(権限昇格)
tasks:
- name: Apache をインストールする
yum: # 使用するモジュール名
name: httpd
state: present # present=インストール, absent=削除
- name: Apache を起動・自動起動設定する
service:
name: httpd
state: started
enabled: yes
⚠️ YAMLのインデント(字下げ)に注意! YAML形式では、階層構造を表現するために スペースによるインデント を使います。タブ文字を使うとエラーになるため注意が必要です。Makefileでは「タブ文字が必須」でしたが、YAMLでは逆に「スペースが必須」という点が試験での引っかけポイントになります。
📝
yumとdnfについて:サンプルではyumモジュールを使っていますが、最近のディストリビューション(RHEL 8以降など)ではdnfが使われることがあります。試験ではyum表記で覚えて問題ありません。
📝 実務補足:現在の実務ではクラウド環境(AWSやAzureなど)でもAnsibleが広く利用されています。ただし試験では基本概念の理解が中心なので、コマンドと用語をしっかり押さえることが先決です!
Playbook を実行するコマンド
# プレイブックを実行する
ansible-playbook playbook.yml
# ドライラン(実際には実行しないでテストする)
ansible-playbook playbook.yml --check
# 詳細な出力
ansible-playbook playbook.yml -v
Ansible の自動化できること(シラバス記載の3用途)
| 用途 | 具体例 |
|---|---|
| 仮想サーバ・コンテナの払い出し | 仮想マシンやコンテナの作成・起動 |
| アプリケーションのリリース | ソフトウェアのデプロイ・設定変更 |
| ネットワーク機器の設定変更 | ルーター・スイッチの設定更新 |
Puppet / Chef について(参考情報・シラバス外)
「Ansibleとの違い」としてダミーの選択肢に出ることがあります。最低限の違いを押さえておきましょう。
| ツール | エージェント | 動作型 | 設定言語 |
|---|---|---|---|
| Ansible | 不要(SSH) | Push型 | YAML |
| Puppet | 必要(puppet agent) | Pull型 | Puppet DSL |
| Chef | 必要(chef-client) | Pull型 | Ruby DSL |
⚠️ 試験の最頻出ひっかけ:「エージェント不要はどれか?」と問われたら Ansible です。
過去問を解いていて「ここ、引っかかりそう!」と感じたパターンをまとめました。試験直前に見直してくださいね。
| # | 間違いパターン | 正しい理解 |
|---|---|---|
| 1 | Nagiosのプラグインは nagios_ から始まる | ❌ check_ から始まる(例:check_ping) |
| 2 | Zabbixの「アクション」はデータを収集する | ❌ データを収集するのは「アイテム」。アクションはトリガー発動時の通知 |
| 3 | Icinga2はNagiosのプラグインと互換性がない | ❌ 後継ツールであり、プラグインをそのまま流用できる |
| 4 | Ansibleにはエージェントのインストールが必要 | ❌ SSHのみで動作するエージェントレスツール |
| 5 | AnsibleのPlaybookはRubyで記述する | ❌ Playbookは YAML形式 で記述する |
| 6 | collectdはグラフを生成するツール | ❌ データ収集・転送ツール。グラフ化はCactiやMRTGが担当 |
| 7 | AnsibleのPlaybookのインデントはタブ文字を使う | ❌ YAMLはスペース必須。タブ文字はエラーになる(Makefileとは逆!) |
| 8 | アドホックコマンドはPlaybookを使って実行する | ❌ アドホックコマンドはPlaybookを使わずにコマンドラインから直接実行する |
主題2.04の4記事分をまとめて復習できる一覧です!
| 主題 | テーマ | 重要度 | 最重要コマンド / ツール |
|---|---|---|---|
| 2.04.1 | makeによるビルド | 3 | ./configure・make・make install・Makefile |
| 2.04.2 | バックアップ | 3 | tar・rsync -a・dd・dump/restore |
| 2.04.3 | ユーザへの通知 | 1 | wall・/etc/motd・/etc/issue |
| 2.04.4 | リソース把握 | 3 | top・free・df・du・vmstat・sar |
| 2.04.5 | 監視ツール | 2 | Nagios・Zabbix・check_*・collectd・MRTG・Cacti |
| 2.04.6 | 構成管理ツール | 4 | Ansible(エージェントレス・YAML・Playbook) |
私がメインで使っている参考書と問題集です。よければ一緒に勉強していきましょう(笑)
【PR】▶ あずき本(Linux教科書 LinuCレベル2 Version 10.0対応) 概念や仕組みをしっかり理解したいときの辞書代わりに。まずここで基礎を固めます。
リンク
【PR】▶ スピードマスター LinuCレベル2問題集(白本) 本番に近い難易度で問題演習したいときに。あずき本で理解したあとに使うと定着度が上がります。
リンク
お疲れ様でした!今回のポイントをおさらいしましょう。
- Nagios:プラグイン(
check_*)で動作。リモート監視は NRPE - Icinga2:Nagios 後継。Nagios プラグインと互換性あり
- Zabbix:統合監視。アイテム → トリガー → アクションの流れ
- collectd / MRTG / Cacti:collectdは収集・転送、MRTG・Cactiはグラフ化
- Ansible:エージェントレス・SSH のみ・YAML(Playbook)で記述
- アドホックコマンド:Playbookを使わずにコマンドラインから単発実行する方法
- YAMLのインデント:スペース必須。タブ文字はエラー(Makefileとは逆!)
- 重要度4の2.04.6:インベントリ・モジュール・Playbook の意味を確実に覚える
主題2.04はこれで全4記事完走です!範囲が広かったですが、まとめ表を繰り返し見直しながら仕上げていきましょう。
皆さんにとって、今日も素敵な1日になりますように!
参考:LPI-Japan 公式試験範囲 https://linuc.org/linuc2/range/201.html
※本記事はLinuC レベル2 Version 10.0 の出題範囲をもとに作成しています。