Zabbix分散監視プラットフォームのデプロイ<2>-自動検出、自動登録、API

1.はじめに

Zabbixはエンタープライズレベルの分散型オープンソースモニタリングソリューションです。
Zabbixソフトウェアは、多数のネットワークパラメータとサーバーの状態と整合性を監視できます。Zabbixは柔軟なアラートメカニズムを使用しており、ユーザーはほぼすべてのイベントに対して電子メールベースのアラートを設定できます。このようにして、ユーザーはサーバーの問題に迅速に対応できます。Zabbixは、保存されたデータに基づいた優れたレポートおよびデータ視覚化機能を提供します。これらの機能により、Zabbixはキャパシティプランニングに最適です。
Zabbixはアクティブポーリング(ポーリング)とパッシブキャプチャ(トラッピング)をサポートしています。Zabbixのすべてのレポート、統計、および設定パラメータには、Webベースのフロントエンドページからアクセスできます。Webベースのフロントエンドページにより、監視しているネットワークステータスとサーバーヘルスステータスにどこからでもアクセスできます。適切な設定により、ZabbixはITインフラストラクチャの監視において重要な役割を果たすことができます。サーバーの数が少ない小規模な組織でも、サーバーの数が多い大企業でも、同じことが当てはまります。

2.サーバーの展開が成功した後にログインします

Zabbixの「ようこそ」画面です。ユーザー名Adminとパスワードzabbixを入力して、Zabbixスーパーユーザーとしてログインします。
ログイン後、ページの右下隅に「管理者として接続済み」と表示されます。同時に、[構成]メニューと[管理]メニューにアクセスできます。
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

3.新しいサービスホストと基本的な展開

1.グラフィックの追加

注:zabbix-agent側がデプロイされている場合、以下はWebグラフィカルインターフェースでの操作です。

Zabbixのホストは、監視するネットワークエンティティ(物理または仮想)です。Zabbixでは、ホストの定義は非常に柔軟です。物理サーバー、ネットワークスイッチ、仮想マシン、または一部のアプリケーションの場合があります。

ホストの追加:
Zabbixでは、[設定]→[ホスト]メニューから設定済みのホスト情報を表示できます。デフォルトでは、「Zabbixサーバー」という名前の事前定義されたホストがあります。しかし、別のものを追加する方法を学ぶ必要があります。
[ホストの作成]をクリックして新しいホストを追加すると、ホスト構成フォームが表示されます。

必要なすべての文字は赤い星でマークされています。
少なくとも次のフィールドに入力する必要があります。
ホスト名ホスト名を
入力します。英数字、スペース、ドット「。」、アンダースコア「-」、アンダースコア「_」を使用できます。
グループ:
右側の選択ボックスから1つ以上のグループを選択し、[«]をクリックして[グループ内]選択ボックスに移動します。
注:すべてのアクセス許可は、個々のホストではなく、ホストグループに割り当てられます。これが、ホストが少なくとも1つのグループに属する必要がある理由です。
IPアドレス:
ホストのIPアドレスを入力します。これがZabbixサーバーのIPアドレスである場合、Zabbixエージェント設定ファイルの「Server」パラメータの値である必要があることに注意してください。
今のところ、他のオプションのデフォルト値を保持します。
終了したら、[追加]をクリックします。新しく追加したホストがホストリストに表示されます。
注:「可用性」列のZBXアイコンが赤の場合は、通信に問題がある可能性があります。エラーメッセージを表示するには、マウスを上に移動します。このアイコンが灰色の場合は、現在のステータスが更新されていないことを意味します。Zabbixサーバーが実行されていることを確認し、しばらくしてからこのページを更新してみてください。
ここに画像の説明を挿入
ここに画像の説明を挿入

2.既存の監視テンプレートへのリンク

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

3.サーバーはクライアントホストを自動的に検出します

実際の本番環境では、監視オブジェクトを1つずつ追加する必要がある場合、多くの人的資源と材料リソースを消費します。ここでは、サーバーが監視対象オブジェクトを自動的に検出できるようにするルールを使用できます。

アクションを有効にし、自動検出を選択し、自動検出のルールを開き、IPセグメントをデプロイされたクライアントホストのIP範囲に変更すると、検査場所で確認でき、デフォルトのアクションがあります
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

4.クライアントの自動登録

サーバー側の自動検出のルールはまだ最善の選択ではありません。監視オブジェクトとしてのクライアント側の自動登録により、人的資源を節約でき
ます。手順:
1。自動検出をオフにし、アクションを有効にして、自動登録を選択し、アクションを作成し、ホストネームサーバーを追加します。ホストグループと接続テンプレートを追加します
。2。クライアントのsystemctl restart zabbix-agent.serviceを再起動し、しばらく待って、グラフィカルインターフェイスでクライアントホストを見つけます。
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

、Api

Zabbix APIを使用すると、Zabbix設定をプログラムで取得および変更でき、履歴データへのアクセスが提供されます。
Zabbixを使用する新しいアプリケーションの作成、
Zabbixとサードパーティソフトウェアの統合、
日常的なタスクの自動化に広く使用されています
ほとんどのAPIには、get、create、update、deleteの少なくとも4つのメソッドが含まれています。これらはそれぞれデータを取得、作成、更新、削除しますが、一部のAPIは完全に異なるメソッドのセットを提供します。

1.ユーザーログイン、ホスト検索

用户登录:
在访问Zabbix中的任何数据之前,你需要登录并获取身份验证令牌。这可以使用该 user.login 方法完成。假设你想要以标准Zabbix Admin用户身份登录:
[root@server1 ~]# cat zabbix.api
curl -s -XPOST http://172.25.0.1/zabbix/api_jsonrpc.php -H “Content-Type: application/json-rpc” -d’
{
    
    
“jsonrpc”:2.0,
“method”: “user.login”,
“params”: {
    
    
“user”: “Admin”,
“password”: “zabbix”
},
“id”: 1,
“auth”: null
}|python -m json.tool

[root@server1 ~]# sh zabbix.api           %下面为API返回的响应
{
    
    
“id”: 1,                              %相应请求的标识符
“jsonrpc”:2.0,                        % JSON-RPC协议的版本
“result”:870c5a59cdf9845e03dd9208c4ec6455”     %用户身份验证令牌
}

检索主机:
我们现在有一个有效的用户身份验证令牌,可以用来访问Zabbix中的数据。 例如,让我们使用 host.get 方法检索所有已配置主机的ID,主机名和接口 :
{
    
    
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
    
    
        "output": [
            "hostid",
            "host"
        ],
        "selectInterfaces": [
            "interfaceid",
            "ip"
        ]
    },
    "id": 2,
    "auth": "870c5a59cdf9845e03dd9208c4ec6455"   %auth属性现在设置为我们通过调用user.login方法获得的身份验证令牌
}

2.ホストを作成します

[root@server1 ~]# cat 1.api
curl -s -XPOST http://172.25.10.1/zabbix/api_jsonrpc.php -H “Content-Type: application/json-rpc” -d’
{
    
    
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
    
    
        "host": "server3",
        "interfaces": [
            {
    
    
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "172.25.0.3",
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
    
    
                "groupid": "2"    %linux servers组的id
            }
        ],
        "templates": [
            {
    
    
                "templateid": "10001"
            }
        ],
    },
    "auth": "870c5a59cdf9845e03dd9208c4ec6455",
    "id": 1
}
}|python -m json.tool

响应:
{
    
    
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
    
    
        "hostids": [
            "10274"
        ]
    },
    "id": 1
}

ここに画像の説明を挿入

3.ホストを削除します

[root@server1 ~]# cat 2.api
curl -s -XPOST http://172.25.10.1/zabbix/api_jsonrpc.php -H “Content-Type: application/json-rpc” -d’
{
    
    
    "jsonrpc": "2.0",
    "method": "host.delete",
    "params": [
        "xxxxx"    %在zabbix图形化监控界面点击所要删除的主机,就可以看到其id
    ],
    "auth": "870c5a59cdf9845e03dd9208c4ec6455",
    "id": 1
}
}|python -m json.tool

响应:
{
    
    
    "jsonrpc": "2.0",
    "result": {
    
    
        "hostids": [
            "xxxxx"
        ]
    },
    "id": 1
}

おすすめ

転載: blog.csdn.net/nk298120/article/details/115348466