銀の光と碧い空

クラウドなインフラとC#なアプリ開発の狭間にいるエンジニアの日々

SQL Server on Linuxの基本診断情報をsosreportで取得する

ひとりAdvent Calendar 18日目です。

adventar.org

sosreport 3.6でSQL Server on Linuxの基本診断情報を取得できるようになったのでその紹介になります。

github.com

このバージョンでは、mssql-serverパッケージがインストールされている場合に設定ファイルとログファイルを収集する簡単な仕組みになっています。

f:id:tanaka733:20181217102829p:plain

取得したsosreportを展開すると、/var/opt/mssql配下のファイルが収集されていることがわかります。

f:id:tanaka733:20181217103200p:plain

mssql.confでログファイルの出力先を変更している場合にも対応しています。mssql.conf/var/opt/mssql/mssql.confから読み取りますが、この場所が違う場合は--plugin-option=mssql.mssql_conf=/path/to/mssql.confとオプション指定することができます。また、Active Directoryによる認証を有効にしている場合、keytabファイルも収集するようになっています。

設定ファイルとログファイル、およびjournalログの取得しかまだ対応していないので、SQL Serverの診断をするためにsosreportを取るというよりは、SQL Serverを含んだLinuxシステムの状態がおかしいときにsosreportを取って、状態を記録したり診断を依頼したりするときに有用だと思われます。

f:id:tanaka733:20181217110534p:plain

f:id:tanaka733:20181217104920p:plain

f:id:tanaka733:20181217110455p:plain

SQL Serverにログインして*1より詳細な情報を取得する機能の追加も考えているのですが、何がとれるとうれしいかがまだ固まっていない状態です。もしアイディアなどがあればコメント頂けるとうれしいです。

また、SQL Server のLinux dockerコンテナの情報はどうやってとればいいのかというのを明日やりたいと思います。

*1:MySQLやPostgreSQLはログイン情報を渡して詳細情報を取得するオプションがある