2015年8月24日月曜日

簡単!!テストデータ作成ツール

decopingです。


テストデータを簡単に作成するツールのご紹介!!
http://www.databasetestdata.com/

システム開発時に作成するテストデータは何かと面倒!、っという悩みは万国共通という事でしょうか。


では、さっそく使い方。
  1. Table Structureを選択する 
    構造は、User Account, Blog Post, Shop Product, Full Customの4つ。 構造が決まっているものでも、カラムは自由に追加、削除できます。
  2. Export Format を選択する。
    出力形式は、 JSON, CSV, XMLの3種類
  3. Generated rows を入力する。
    生成したいデータ量を指定します。1万データぐらいならさくっとダウンロードできました。10万件は返ってきませんでした。。
  4. 必要に応じてカラムの追加、削除を行う。
    カラムのデータとして、 Name, Address, Number, Internetなどがあり、テストデータとして便利なものが揃っています。
  5. データ生成!
    Generate data ボタンでデータ生成!
出力されたデータは、RDBに入力、データ分析としての活用などなど、様々な用途に利用出来ますね!

ではでは。

2015年8月14日金曜日

Oracle12cでパスワードを大文字、小文字を意識しない設定

decopingです。

Oracle11g以降、SQL接続時のパスワードが大文字、小文字を認識する厳密な設定となりました。
ただ、頻繁にSQL接続する場合は、ちょっと面倒、、、。

という事で、大文字、小文字を意識しない設定します!

まずは、状態確認から。
SQL>show parameter sec_case_sensitive_logon;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
sec_case_sensitive_logon             boolean     TURE

sec_case_sensitive_logonの値がTUREになっていると、大文字、小文字を認識するので、

値をFALSEにします!
SQL>alter system set sec_case_sensitive_logon = false scope = both;

そうすると、接続時に大文字、小文字を認識せずに接続が出来るようになります。

ではでは。

2015年3月15日日曜日

Oracle11g RACを利用する場合のJDBCドライバの設定メモ

decopingです。

Oracle Database 11gリリース2(11.2)から、Real Application Clusters(RAC)環境にも、
JDBC(thin)接続が出来るようになりましたので、設定メモを記述します。

通常の単一インスタンスのデータベースへ接続する場合のJDBC設定とでは、
OracleRACを利用する場合のJDBCドライバの設定は若干異なります。

以下の構成を例に説明していきます。

Server_Name ORACLE_SID ORACLE_Service_Name

----------- ---------- -------------------
Server_A db_name_A db_name
Server_B db_name_B db_name

この時に、APサーバーのJDBCデータソースに設定するURLは、
以下のようになります。

※実際には1行で記述します。

jdbc:oracle:thin:@(
DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=Server_A)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=Server_B)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=db_name))
)

また、それぞれのJDBCデータソースで、下記のように、サーバー毎にサーバー情報の順番を変えるようにします。

<AP_Server_1>
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Server_A)...

<AP_Server_2>
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Server_B)...

このような記述にする理由は、DBサーバへの接続に偏りが無くし、バランスよく振り分けを行うためです。

では!

参考もと:
Oracle RAC接続方法

2015年3月12日木曜日

クラウド時代の運用管理基盤「Future Cloud Orchestrator」をリリース!

decopingです。

昨年発表をしました、複数環境の管理、システム運用の自動化を実現する
運用管理基盤として「Future Cloud Orchestrator」を
3月1日無事にリリース、運用サービスの提供を開始しました!

簡単に、「Future Cloud Orchestrator」の機能紹介ですが、
パブリック、プライベート環境を纏めて管理し、システム運用の自動化を行うツールです。


一般的に、一元管理や自動化を行うような高価なパッケージ製品はありますが、
「Future Cloud Orchestrator」は様々なOSSコンポーネントを組合せ、データ統合を行う事で、
安価で、且つ柔軟性のある一元管理、自動化を実現しました!

具体的には、
クラウド管理、自動構築を行う「PrimeCloud Controller」、
システム監視を行う「Zabbix」、
インシデント管理を行う「Redmine」を中心にシステム運用で必要とされる機能を搭載し、
各OSSコンポーネント間を連携するモジュールを開発して実現をしています。

連携方法、搭載しているOSSコンポーネント使い方などは、
今後、発信して行きたいと思います。

最後に、この運用管理基盤「Future Cloud Orchestrator」のメリットとして、
①安い    :OSSを活用したシステムとなり、安価で導入!
②早い    :サーバのデプロイから運用まで自動化し、構築工期の短縮!!
③美味しい  :システム運用上の情報が集約され、運用改善、システム評価の数値化!!!

今後の発展として、更なる機能強化と集約されたデータ活用による予知、予測機能など高度な分析機能の実装を視野に入れて、考え中・・・。

では!

2015年2月20日金曜日

MongoDB3.0にバージョンアップ!!(もうすぐ)

decopingです。

NoSQLデータベースという部類のMongoDBが来月3.0にバージョンアップされます。
新機能として注目しているのは、ストレージエンジンを昨年買収した、「WiredTiger」というエンジンに変わる事で、性能、拡張性において大幅に向上が見込めるようです。


新しいストレージエンジンの主な特徴としては、

  • これまでと比べ7倍から10倍の書き込み速度向上
  • 圧縮機能により80%の容量削減
  • GUI管理ツールの提供による運用の向上
  • ドキュメントレベルの並列機能の実装
といった内容となっています。
詳しくはMongoDBのサイトバージョンアップ記事を参照。


MongoDBの使い方として、





Kibana、Elasticsearch 、MongoDBのコンボによるシステムログの可視化を行っていますが、
ログ蓄積による容量の肥大化によるディスク容量枯渇に悩まされていたため、とっても朗報です!

実際の圧縮機能が何処まで使えるか、、が気になるところです。

では!

2015年2月16日月曜日

PrimeCloud Controller / OSS MeetUpに参加!

decopingです。

先月、複数のクラウド環境を一元的に管理が出来る「PrimeCloud Controller」という
オープンソースのコミュニティイベントに参加した時の内容です。


当日、コミュニティイベントでお話した内容としては、、、

IaaSのクラウドサービスが一般的になった今日この頃、
用途別にプライベート、パブリックを使い分け賢く使おう!

という事を行う企業が増えてきており、

例えば、
 基幹的な業務や、コストメリットが伴わない均一のリソースを要するシステムはプライベート
 バッチ処理や大量データの分析などリソースが流動的なシステムはパブリック

みたいな感じで、プライベートとパブリックを上手く使いこなそう!、という事ですね。

しかし、システムを運営管理する側としては、
単に環境が増えた、、、という事では管理負担が増すばかり。

しかも、価格競争、サービス競争の混沌としたクラウドサービス競争の真っただ中の今、
近いうちにサービス提供会社の淘汰が進むでしょう。

という事をIDCが予測しています。


そこで、クラウドサービス業者に依存せず、且つ管理を楽チンにする方法として、
PrimeCloud Controller」を中心に、様々なOSSコンポーネントを組合せ、
それぞれを連携し、自動化する事が、これからのクラウド管理には必要ですね。

という事で、「PrimeCloud Controller」や「Zabbix」などを組み合わせて、
連携、自動化を行った構成として「Future Cloud Orchestrator」をアピってみました。


また、コミュニティ活動として「PrimeCloud Controller」と連携する
Zabbix」のバージョンアップ対応も行い、現在マージ中・・・。
PrimeCloud Controller」の次回バージョンアップ時に適用予定です!!

このように、商用製品に頼らずとも品質の高いツール群を組合せる事で、
荒波のようなクラウドサービスの過渡期を乗り越える事が出来ます。

それには、オープンであり、連携がし易い、
幹のように「PrimeCloud Controller」が大きく育ち、エコなシステムが循環出来ればと願っています。

では!

で、参考元はガートナーさん
http://www.idc.com/getdoc.jsp?containerId=prUS25350114

2015年2月12日木曜日

Zabbix Conference Japan 2014で発表会。

decopingです。

少し前ですが、昨年11月21日にZabbix Conference Japan 2014でお話した内容です。


マルチクラウド・オンプレミス環境を横断的に運用管理!「Future Cloud Orchestrator Service」の紹介 from naoki asakura

Zabbix Conference Japan 2014でお話した内容としては、、、

クラウドの活用が広がってきたと言っても、
新事業会社ならともかく、一般的な企業の場合は、
パブリッククラウド一択の業務向けシステムというのは少なく
既存のシステムと連携、活用が必要になってきます。

その場合、やはり運用管理の負担が大きくなってしまいがち、、、という事で、

AWSやAzureを初めとするパブリッククラウドと
VMWare,OpenStackなどのプライベートクラウドを
組み合わせたシステム構成を如何に1つのビューから操作し、
管理を行うか、、といった内容をお話しました。

その答えの一つとして、
オープンソースのコンポーネントを組み合わせて
複数環境の管理、システム運用の自動化を実現した構成として、
「Future Cloud Orchestrator」を紹介させて頂きました。

構成するオープンソースのコンポーネントは、
slideshareに掲載している資料を観て頂きたいのですが、
今回、採用しているオープンソースのコンポーネントは、
商用製品としても提供されていたりするので、
品質の高い、構成になっています。

細かい機能などは、今後ご紹介して行こうと思います。


ちなみに、カンファレンス会場には当日200人以上の方がお越し頂き、
初めて大勢の前でお話をしました。


うまく話せたか、は良く分かりませんが、
待っている間はすっごく緊張しましたが、不思議なもので、
いざ話始めると、スラスラと話せるモノですね。

大勢の人前で話をするので準備は大変でしたが、
結構、気持ちの良いものでした、(^◇^)/

また機会があれば、お話をして行きたいと思います。

では!

2015年2月9日月曜日

2014年第4四半期、クラウドサービスシェア。Synergy Research Group調べ

decopingです。

米国の調査会社「Synergy Research Group」が2014年第4四半期のクラウドサービスシェアを発表しました。

1位は相変わらず、AWS(Amazonクラウド)で他を引き離す約30%、
2位はマイクロソフトで約10%
3位はIBMで約7%
となっています。

確かにAWSのシェアは他と比べて大きいですが、それでも市場の3割程度なのですね。
トップ3を合計でクラウドサービスシェアの約半数、やはりVMWareは偉大!?という事でしょうか。
fig

また、1年間の成長率を見るとマイクロソフトが96%、Googleが81%と共に堅調の成長率!

ガートナー曰く、クラウドコンピューティング自体は幻滅期とは言ってますが、
これからが淘汰の嵐でしょうか、、、まだまだ熱いですね。
では!

で、参考元はPublickeyさん、ガートナーさん
http://www.publickey1.jp/blog/15/20143amazon28501096synergy_research_group.html
http://www.gartner.co.jp/press/html/pr20140903-01.html

2015年2月5日木曜日

ZABBIX2.2.xのMySQLから直接アイテム値などを取得

decopingです。

アイテム値を取得する方法としては、通常の方法だと
ZABBIXのWEB画面経由で「プレーンテキスト」をダウンロードする方法

ZABBIX APIを使ったデータ取得方法
がありますが、欲しい情報を取得するのは大変!

という事で、ZABBIXのデータが格納されているDB(Mysql)から
直接、値を取得するSQLクエリを調べてみました。

SQLクエリなので、JasperReportと組み合わせて
稼働レポート、設計書の帳票として出力するのに便利。

では、早速。

【SQLクエリ1】ホスト一覧を取得
SELECT
    host
FROM
    hosts
WHERE
    STATUS <> 3 AND
    flags <> 2
ORDER BY
    name;

【SQLクエリ2】ホスト毎の監視項目一覧を表示
SELECT
    h.host,
    h.name,
    i.key_,
    i.delay,
    i.history,
    i.trends,
    ELT(i.value_type+1,'Double','Str','Log','Uint','Text') type,
    i.units ,
    ifnull(ap.name,'[Undefined]') application_name,
    i.name item_name,
    Replace(Replace( i.description , Char(13), ""),Char(10), "") AS description
FROM
    items i  join hosts h on h.hostid = i.hostid
    left join items_applications ia on i.itemid=ia.itemid
    left join applications ap on h.hostid=ap.hostid and ia.applicationid=ap.applicationid
WHERE
    h.host in (
SELECT
    host
FROM
    hosts
WHERE
    STATUS <> 3 AND
    flags <> 2
ORDER BY
    name
                ) AND
    i.status = 0 AND
    i.flags <> 1 AND
    i.flags <> 2
ORDER BY
    ap.name,
    i.name,
    i.key_;

【SQLクエリ3】指定ホストの最新アイテム値を取得
select
    h.host AS HOST,
    h.name AS HOST_NAME,
    i.name AS ITEM_NAME,
    i.key_ as ITEM_KEY,
FROM_UNIXTIME
    (ELT(i.value_type+1, hy1.clock, hy3.clock, hy2.clock, hy5.clock, hy4.clock))  AS  clock ,
    Replace(Replace(ELT(i.value_type+1, hy1.value, hy3.value, hy2.value, hy5.value, hy4.value) , Char(13), ""),Char(10), "")  AS  value
from items i
    join hosts h on h.hostid = i.hostid
    left join
        history hy1 on hy1.itemid = i.itemid and hy1.clock =
             (select max(hy12.clock) from history      hy12 where hy12.itemid = i.itemid)
    left join
        history_log  hy2 on hy2.itemid = i.itemid and hy2.clock =
            (select max(hy22.clock) from history_log  hy22 where hy22.itemid = i.itemid)
    left join
        history_str  hy3 on hy3.itemid = i.itemid and hy3.clock =
            (select max(hy32.clock) from history_str  hy32 where hy32.itemid = i.itemid)
    left join
        history_text hy4 on hy4.itemid = i.itemid and hy4.clock =
            (select max(hy42.clock) from history_text hy42 where hy42.itemid = i.itemid)
    left join
        history_uint hy5 on hy5.itemid = i.itemid and hy5.clock =
            (select max(hy52.clock) from history_uint hy52 where hy52.itemid = i.itemid)
where
    h.host in
        (SELECT host FROM hosts WHERE STATUS <> 3 AND flags <> 2 order by name) and
        i.status = 0             and
        i.name like '%'          and
        i.flags <> 1             and
        i.flags <> 2             and
        i.key_ like '%';

【SQLクエリ4】カレントアイテム値を全て取得(サンプルとしてsystem.cpu.loadの全表示)(特定項目,全項目も表示できるが、非常に時間がかかります)
select
    h.host AS HOST,
    h.name AS HOST_NAME,
    i.name AS ITEM_NAME,
    i.key_ as ITEM_KEY,
FROM_UNIXTIME(ELT(i.value_type+1, hy1.clock, hy3.clock, hy2.clock, hy5.clock, hy4.clock)) AS  clock ,
Replace(Replace( ELT(i.value_type+1, hy1.value, hy3.value, hy2.value, hy5.value, hy4.value) , Char(13), ""),Char(10), "")  AS  value
from items i
    join hosts h on h.hostid = i.hostid
    left join history      hy1 on hy1.itemid = i.itemid
    left join history_log  hy2 on hy2.itemid = i.itemid
    left join history_str  hy3 on hy3.itemid = i.itemid
    left join history_text hy4 on hy4.itemid = i.itemid
    left join history_uint hy5 on hy5.itemid = i.itemid
where
    h.host in
        (SELECT host FROM hosts WHERE STATUS <> 3 AND flags <> 2 order by name) and
        i.status = 0             and
        i.name like '%'          and
        i.key_ like 'system.cpu.load[percpu,avg1]%';

では!

2015年2月2日月曜日

主なクラウドサービスのダウンタイム調査

decopingです。

クラウドサービスのダウンタイムなどを調査している会社「CloudHarmony」が
過去1年の主なクラウドサービスの稼働状態を公開しています。
fig

CloudHarmonyとサーバのモニタリングサービスを提供しているPanoptaの協力によって、
モニタリングエージェントを通じて60秒ごとに情報を収集し、稼働状況を表示しているようです。
・・・RSSに流れる情報から推測、、、では無いのですね。

では、AWS、Microsoft Azureのクラウドサービスのダウンタイムはどの程度か?
世界の主要なクラウドサービス AWS、Microsoft Azure、Google Cloud Platformに加え、
日本のクラウド事業者からは、GMO Cloud(US)、IDC Frontierがありました。

AWSの項目をみると
CDNのCloudFrontとDNSサービスのRoute 53はダウンタイムがゼロ、
IaaSサービスのEC2とバケットストレージサービスのS3が15分から20分程度の
ダウンタイムがあったことを表示されています。


では、Microsoft Azureの項目は、
CDNのAzure CDNはダウンタイムがゼロですが、
バケットストレージサービスのAzure Object Storageが50分程度、
IaaSサービスのAzure Virtual Machinesに至っては3.3時間のダウンタイムを表示されています。


これは昨年発生したストレージ関連の障害が影響しているのでしょう。

なお、日本のクラウド事業者としてのIDCフロンティアは
ダウンタイムがゼロ!



では!

で、参考元はPublickeyさん
http://www.publickey1.jp/blog/15/1_awsazure_cloud_harmony.html

2015年1月13日火曜日

Jaspersoft StudioをWindowsに導入する時の注意点

decopingです。

Jaspersoft Reportというオープンソース帳票出力ツールを使う事があり、
帳票のレイアウト設計を行う、Jaspersoft Studioを導入してみました。

Jaspersoft Studioは商用ツールと遜色のない機能を搭載していますが、
32bit版 Windowsにインストールした所、起動できない事があったので、
メモとして対処法を記載。

まずは、Jaspersoft Studioの32bit Windows版のシステム要件ですが、
Java1.6以降が導入されている事、だそうです。



で、実際にインストールして起動した所、、、











う、うごかない!


調べてみたら、32bit Windows版固有の問題らしく、
Jaspersoft Studioで使用するJVMのメモリ値を修正する必要があるので、
早速修正してみる。

修正箇所は、Jaspersoft Studio.iniの中のJVMの設定を修正、
# 13行目の-Xmx1024mを-Xmx256mに変更し保存

















修正したら、無事に起動しました\(^o^)/

ちなみに、Eclipseプライグイン版のJaspersoft Studioは確認してないです。

JasperReport、海外では結構実績はあるみたいだけど、
国内実績が少ない。

機能的には作り込みも出来そうだし、結構有用だと思うんだけどなー。
しかも、オープンソースなので商用と比べて費用も抑えられるし。

今後、コミュニティーに参加してみようかな。

ではでは。

2015年1月5日月曜日

システム維持運用に必要そうなRSS取得先を一覧化してみた

でこぴんぐです。

システム維持運用に関わるRSS配信先の情報を記載します。
※2014年12月時点の情報ですので、内容が古かったり誤ってるかも知れません。


カテゴリ 入手元 情報区別 取得形式 URL
脆弱性情報 JPCERT/CC 注意喚起 RDF https://www.jpcert.or.jp/rss/jpcert.rdf
脆弱性関連情報 RDF http://jvn.jp/rss/jvn.rdf
JVN iPedia JVN iPediaで注目されている脆弱性 RDF http://jvndb.jvn.jp/ja/rss/jvndb.rdf
通信回線故障情報 NTTCOM Arcstar Universal One ベストエフォート RDF http://support.ntt.com/maintenance/service/rss/242
Group-VPN 光サービス(F) RDF http://support.ntt.com/maintenance/service/rss/252
Group-VPN 「Bフレッツ」プラン RDF http://support.ntt.com/maintenance/service/rss/262
Group-Etherサービス RDF http://support.ntt.com/maintenance/service/rss/267
Group-Etherサービス フレッツ別契約型 RDF http://support.ntt.com/maintenance/service/rss/495
Group-Ether/e-VLAN接続 RDF http://support.ntt.com/maintenance/service/rss/496
KDDI KDDI Wide Area Virtual Switch RDF http://www.notice.kddi.com/news/mainte/content/info/k/widearea.xml
KDDI Powered Ethernet - 情報なし
SOFTBANK - - RSS配信なし、(WEBによる閲覧のみ)
NTT東日本 - - 全体周知用のRSS配信はない
NTT西日本 - - http://www.info-construction.ntt-west.co.jp/info-report/ku010/kU010200/
携帯電話故障情報 docomo 重要なお知らせ(通信障害等) RDF https://www.nttdocomo.co.jp/info/rss/network.rdf
au スマートフォン・携帯電話に関するおしらせ RDF http://www.notice.kddi.com/news/mainte/content/info/k/au_information.xml
SOFTBANK - - RSS配信なし、(WEBによる閲覧のみ)
Willcom - - RSS配信なし、(WEBによる閲覧のみ)
災害情報 気象庁 気象庁防災情報XML ATOM 登録制による配信
日本気象協会 地震情報 RSS http://feed.tenki.jp/component/static_api/rss/earthquake/recent_entries.xml
サービス故障情報 AWS(Asia Pacific(Tokyo)) Amazon CloudWatch RSS http://status.aws.amazon.com/rss/cloudwatch-ap-northeast-1.rss
Amazon Elastic Compute Cloud RSS http://status.aws.amazon.com/rss/ec2-ap-northeast-1.rss
Amazon Elastic Load Balancing RSS http://status.aws.amazon.com/rss/elb-ap-northeast-1.rss
Amazon Redshift RSS http://status.aws.amazon.com/rss/redshift-ap-northeast-1.rss
Amazon Relational Database Service RSS http://status.aws.amazon.com/rss/rds-ap-northeast-1.rss
Amazon Route 53 RSS http://status.aws.amazon.com/rss/route53.rss
Amazon Simple Storage Service RSS http://status.aws.amazon.com/rss/s3-ap-northeast-1.rss
Amazon SimpleDB RSS http://status.aws.amazon.com/rss/simpledb-ap-northeast-1.rss
Amazon Virtual Private Cloud RSS http://status.aws.amazon.com/rss/vpc-ap-northeast-1.rss
AWS Direct Connect RSS http://status.aws.amazon.com/rss/directconnect-ap-northeast-1.rss
AWS Storage Gateway RSS http://status.aws.amazon.com/rss/storagegateway-ap-northeast-1.rss
Azure(Region:Japan) Compute_East RSS http://www.windowsazurestatus.com/Rss/WACEJ
Compute_West RSS http://www.windowsazurestatus.com/Rss/WACWJ
Compute (Service Management)_East RSS http://www.windowsazurestatus.com/Rss/CSMNEJ
Compute (Service Management)_West RSS http://www.windowsazurestatus.com/Rss/CSMNWJ
Management Portal RSS http://www.windowsazurestatus.com/Rss/WAPortalWW
Networks_East RSS http://www.windowsazurestatus.com/Rss/NETEJ
Networks_West RSS http://www.windowsazurestatus.com/Rss/NETWJ
Service Management RSS http://www.windowsazurestatus.com/Rss/WASvcMgmtWW
SQL Databases_East RSS http://www.windowsazurestatus.com/Rss/SAEJ
SQL Databases_West RSS http://www.windowsazurestatus.com/Rss/SAWJ
Storage_East RSS http://www.windowsazurestatus.com/Rss/WASEJ
Storage_West RSS http://www.windowsazurestatus.com/Rss/WASWJ
windowsazure.com RSS http://www.windowsazurestatus.com/Rss/WAProductWW
NTTCOMクラウド Biz ホスティング Enterprise Cloud RSS http://support.ntt.com/maintenance/service/206
Twilio Voice システム稼働状況(米国) Account Portal RSS http://status.twilio.com/rss?services=account-portal
REST API RSS http://status.twilio.com/rss?services=rest-api
Voice - Incoming Phone Calls RSS http://status.twilio.com/rss?services=incoming-phone-calls
Voice - Incoming SIP Calls RSS http://status.twilio.com/rss?services=incoming-sip-calls
Voice - Outgoing Phone Calls RSS http://status.twilio.com/rss?services=outgoing-phone-calls
Voice - Outgoing SIP Calls RSS http://status.twilio.com/rss?services=outgoing-sip-calls
Voice - Queues RSS http://status.twilio.com/rss?services=voice---queues

間違ってたら、ごめんなさい!

ではでは。

コマンドラインのRSSリーダーが無かったのでPerlで書いてみた

でこぴんぐです。

回線、クラウドサービスなどの障害、メンテナンス情報など
何かと重宝するRSS!

しかし、都度確認するのは面倒、、、
っという事でコマンドラインでRSSを受信しテキストに保存を行う、
Perlのツールを作ってみました!!

出力したテキストを監視ツールでテキスト監視をすると、
事件発生時に自動的に連絡が届きます。




では、早速中身ですが、

作りとしては、Perlのライブラリで
XML::TreePPとXML::FeedPPを使って、RSSを読み取り

YAML::Tinyを使って、最後に取得したRSSアイテムを
ハッシュ値として保存します。

また、汎用的なRSSリーダーとなるように、
収集するRSSアドレスなどは引数として扱ってみました。

では、実際にJVN iPediaのインシデント情報を取得すると
<<JVN iPediaの取得サンプル>>


では、実行手順ですが、
まずは、rss_jvnipedia.plを実行!!!


すると同じディレクトリに必要なファイルが勝手に作成され、RSSの取得に励みます。

# 実行例:perl 'rss_jvnipedia.pl' ipedia http://jvndb.jvn.jp/ja/rss/jvndb.rdf jvn_ipedia.log info
# 実行内容
# <実行ファイル> [引数1] [引数2] [引数3] [引数4]
# 引数1:サービス名(後から検索でき易くする名前)
# 引数2:収集URL(RSSを収集するURL)
# 引数3:出力ファイル(出力ファイルのパス)
# 引数4:ハッシュ配列名(ハッシュ値を保存する名前)



実際に取得した内容としては、↓こんな感じで出力されます。
---
[title]: GNU bash における任意のコマンドを実行される脆弱性
[desc]: GNU bash は、環境変数の値の関数定義を適切に解析しないため、任意のコマンドを実行される脆弱性が存在します。

本脆弱性は、CVE-2014-6271、CVE-2014-7169、および CVE-2014-6277 に対する修正が不十分だったことによる脆弱性です。
[severity:score]: High : 10.0
[vector]: (AV:N/AC:L/Au:N/C:C/I:C/A:C)
[identifier]: JVNDB-2014-004476
[link]: http://jvndb.jvn.jp/ja/contents/2014/JVNDB-2014-004476.html
[pubData]: 2014-10-01T13:40+09:00
[lastData]: 2014-12-26T10:00+09:00
---

で、Zabbixで監視すると↓のような画面となります。



サンプルとしてIPAから配信されているJVN iPediaを取得するスクリプトとしていますので、
実際に使ってみる場合は、取得先のRSS形式に合わせて、
RSSアイテムをカスタマイズする必要はありますよ。


では今回使用したPerlでRSSを取得するサンプルコードです。
RSS取得サンプルコード
<<JVN iPediaの取得サンプル>>

Cron用のバッチシェル
<<実行シェルのサンプル>>


ちょっと説明が不十分かも知れませんが、
気になった方は「JVN iPediaの取得サンプル」をご覧ください。

ではでは。