Asteriskワーニング:Autodestruct on dialog

こんにちは。エンジニアのリリアンです。

Asteriskでchan_sip.c: Autodestruct on dialogの現象をみたことがありますか?xcallyもchan_sipを利用しているから、この現象が発生することがあります。
このワーニングが起きたときに、根本的解決策ではないですが、対策の一つにAsteriskの再起動があります。今回はZabbixを使って、Asteriskが自動再起動の方法を紹介したいと思います。

前提条件

・Zabbixサーバーをインストール済み
・ホストサーバーにZabbix Agentインストールし、activeになってます。

Zabbixサーバー

Zabbixサーバーをログインして、アイテム、トリガーとアクションを設定します。

アイテムの設定

元々テンプレートを作ってあるので、テンプレートにアイテムとトリガーを追加します。

  • 名前:お好みで。例:Log Monitoring
  • タイプ:Zabbixエージェント(アクテイブ)
  • キー: logrt[/var/log/asterisk/messages,Rescheduling]
  • 監視間隔:1m
  • アプリケーション:Zabbix Agent

トリガーの設定

次は、トリガーを設定します。

  • 深刻度:お好きなように設定。
  • 条件式: {Template Xcally basic:logrt[/var/log/asterisk/messages,Rescheduling].nodata(300)}=0 and {Template Xcally basic:logrt[/var/log/asterisk/messages,Rescheduling].count(#1)}>0

2つの式をand条件にしている記述です。

1行目は5分間データがなかったら障害状態を解除する条件です。

2行目は「Reschedulingという文字列が直近1回の計測で1回以上でたら」という条件式になります。

アクションの設定

最後にアクションの設定です。

「設定」→「アクション」→「アクションの作成」ボタンをクリックします。

アクションタブはイメージのように入力します。(名前はお好みで)

3つの条件を設定しています。

  • トリガーの深刻度が「重度の障害」だったら
  • 先ほど設定した「Freeze chan_sip module」がトリガーされたら
  • ホストグループを作った場合

次に、実行内容タブで実行内容詳細を設定します。

  • 実行内容のタイプ:リモートコマンド
  • コマンド: sleep 300 && sudo systemctl restart asterisk

Zabbixエージェントがインストールされているサーバーで実行するリモートコマンドです。

設定を終わったら、保存します。

ホストサーバー

外部コマンドを実行するため、 /usr/local/etc/zabbix_agentd.confを修正する必要があります。

以下のコマンドを実行して、この2つのパラメータを有効にします。

  • EnableRemoteCommands=1
  • AllowRoot=1

終わりに

以上、chan_sip.c: Autodestruct on dialogエラーに対し一つの対策を紹介いたしました。是非参考にしてください!

この記事が気に入ったら
いいね ! しよう

Twitter で
The following two tabs change content below.

【採用情報】一緒に働く仲間を募集しています

採用情報
ページトップへ