台帳の扱いについて

execjson の話の続きとなる。
http://aaabbb-200904.hatenablog.jp/entry/20150430/1430398428

サービス要求(以下、SR)処理の自動化に関連して、必ず問題になってくるのが、
台帳更新をどうするか、だと思う。

通常、人間が実施する場合は、作業を実施した日付、内容、等を台帳(大抵はエクセル)に記述していくのだが、自動で処理する場合は、エクセルに書き込むわけにはいかない。
また、台帳全てをRDBで置き換える、という判断をした場合、自動処理内で実行する、SQLの開発が、それなりの量になる。
※ カスタム開発にするしかないので、自動処理自体の価格も高止まりになる、、

どうするか、なのだが、execjson では、処理が流れる際に、JSONをelasticsearch に投げるようにしている。

※ 書き方は大変いけてないが、、
os.popen('curl --silent --max-time 15 -XPUT http://%s/jobstates/jobstate/%s -d @%s.state > /dev/null' % (elasticsearchurl, docid, filename)
https://github.com/aaabbb200909/execjson/blob/master/web/mysite/batch/do.py

これによって、作業が発生した日付、実施内容が記録でき、かつ kibana 経由で検索出来るようになっている。

基本的には台帳の役割は、上記の 1. 作業内容の検索 が主となるのだが、
それ以外に、2. 設定状況の一覧表、 3. 新規払出の一次ソース、という役割もある。

2 については、基本的には管理対象の筐体の設定ファイル、と同じになるため、
 rsync+git
http://aaabbb-200904.hatenablog.jp/entry/20120825/1345908313
で、代用できる。
※ ただし、記述内容が複数のファイルにまたがる(vSphereのVM定義、など) ことがあるため、場合によっては、日次バッチ等で、エクセルに類似のHTMLを作る必要があるかもしれない

3. については、2で対応できないもの、
例えば、IPアドレスの払い出し(実機上に情報が無い) 、等がある。

2016/9/22 追記
これ以外に、ハードウェア目録、ハードウェア配置図、や、マクロが組み込まれており、エクセルが一次情報になっているケース、等もある


これに関しては、、他のソースから取り出すわけにはいかないので、
諦めてRDBを定義するしかない。
DjangoのO/Rマッパー, adminコンソール機能を使って、できる限り簡易に扱えるようにするくらいだろうか、、

上記、1,2,3 で台帳の役割は尽きていると思うのだが、どうだろうか。
※ 開発量を抑えるポイントとしては、3以外は開発工数無しで、置き換え可能なので、
 出来るだけ1,2 で処理を完結できるようにし、3に流れる分を減らすこと、となる。