ログのアーカイブについて

Ereshkigal
Tera Contributor

コミュニティの皆様、いつもお世話になっております。

 

私のプロジェクトでログレコードを以下期間で保管したいという要件があります。

・syslog:180日

・sysevent:1年間

・syslog_transaction:1年間

 

ただしログローテーションの変更は公式で非推奨と聞いています。
ファイル出力等、ログの保管について知見がある方がいればご教示頂けないでしょうか。

 

 

1 件の受理された解決策

XML形式で取得できるAPIは2種類あります。
テーブル API (servicenow.com)

CURL によるTable APIのGETでIncidentを1件XML形式で取得する例
curl "https://<InstanceName>.service-now.com/api/now/table/incident?sysparm_limit=1" \
--request GET \
--header "Accept:application/xml" \
--user '*****':'****'

 ServiceNowのインスタンス内でテーブルAPIの動作確認ができます。

REST API エクスプローラーの使用 (servicenow.com)

 

もうひとつはURLにパラメータを追加する方法

複合データタイプへのレコードのエクスポートと変換 (servicenow.com)

https: // <InstanceName>/<table-name>.do?XML
このような形式にするとXMLでデータが取得できます。いつものリストビューのURLの最後に"&XML"を付けるだけでXML形式になります。

元の投稿で解決策を見る

4件の返信4

iwai
Giga Sage

必要要件のデータに絞って、内部のカスタムテーブルに転送することがよくあります。 必要なデータだけがある事で利便性も良くて、実装も簡単なので良くやります。

全量がとにかく必要と言う要件の場合は、外部ストレージサーバーに、日次のジョブで転送することもありました。ここは実装方法にもよりますが、外部ストレージサーバー側にある日次のジョブ(簡単なバッチ処理)でServiceNowからXML形式でテーブル情報の差分を取得する(ServiceNowの標準APIを利用する)だけなので、ServiceNow側の実装は不要です。

MIDServer経由のファイル転送でよければ、標準のScheduled Exportが使えます。
エクスポートをスケジュールする (servicenow.com)

システム用テーブルのローテーションテーブル設定変更はできたとしても本当にやめておくべきです。
システムの重要な部分の構造や負荷を変えてしまうことになり、本番環境に想定外のことが発生したときに責任や保証の問題になりかねないです。

iwaiさん、ご回答ありがとうございます。

大変勉強になります。

1点、以下のServiceNow標準APIについてAPI名を差し支えなければご教示頂きたいです。

>ServiceNowからXML形式でテーブル情報の差分を取得する(ServiceNowの標準APIを利用する)

よろしくお願いいたします。

XML形式で取得できるAPIは2種類あります。
テーブル API (servicenow.com)

CURL によるTable APIのGETでIncidentを1件XML形式で取得する例
curl "https://<InstanceName>.service-now.com/api/now/table/incident?sysparm_limit=1" \
--request GET \
--header "Accept:application/xml" \
--user '*****':'****'

 ServiceNowのインスタンス内でテーブルAPIの動作確認ができます。

REST API エクスプローラーの使用 (servicenow.com)

 

もうひとつはURLにパラメータを追加する方法

複合データタイプへのレコードのエクスポートと変換 (servicenow.com)

https: // <InstanceName>/<table-name>.do?XML
このような形式にするとXMLでデータが取得できます。いつものリストビューのURLの最後に"&XML"を付けるだけでXML形式になります。

m7777
Tera Guru

Splunkなど外部サービスを利用するのがよいかと考えます。

https://splunkbase.splunk.com/app/1928