{"action":"opened","number":37,"pull_request":{"url":"https://api.github.com/repos/dueguy/exam/pulls/37","id":74940627,"html_url":"https://github.com/dueguy/exam/pull/37","diff_url":"https://github.com/dueguy/exam/pull/37.diff","patch_url":"https://github.com/dueguy/exam/pull/37.patch","issue_url":"https://api.github.com/repos/dueguy/exam/issues/37","number":37,"state":"open","locked":false,"title":"課題05c","user":{"login":"oomori-pyramid-inc-net","id":9268052,"avatar_url":"https://avatars.githubusercontent.com/u/9268052?v=3","gravatar_id":"","url":"https://api.github.com/users/oomori-pyramid-inc-net","html_url":"https://github.com/oomori-pyramid-inc-net","followers_url":"https://api.github.com/users/oomori-pyramid-inc-net/followers","following_url":"https://api.github.com/users/oomori-pyramid-inc-net/following{/other_user}","gists_url":"https://api.github.com/users/oomori-pyramid-inc-net/gists{/gist_id}","starred_url":"https://api.github.com/users/oomori-pyramid-inc-net/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oomori-pyramid-inc-net/subscriptions","organizations_url":"https://api.github.com/users/oomori-pyramid-inc-net/orgs","repos_url":"https://api.github.com/users/oomori-pyramid-inc-net/repos","events_url":"https://api.github.com/users/oomori-pyramid-inc-net/events{/privacy}","received_events_url":"https://api.github.com/users/oomori-pyramid-inc-net/received_events","type":"User","site_admin":false},"body":"大森です。\r\n大分時間がかかってしまいましたが課題05cの実装が完了いたしました。\r\nレビューをお願い致します。 :pray:\r\n\r\n\r\n## 要件\r\n\r\n### VM\r\n\r\n#### 送信用VM\r\n`tx`\r\n\r\n#### 受信用VM\r\n`rx`\r\n\r\n### それぞれのVM内での可動コンテナ\r\n\r\n### tx\r\n`log-generator`\r\n\r\n### tx\r\n`fluentd`\r\n`elasticsearch`\r\n`kibana`\r\n\r\n### コンテナ仕様\r\n#### log-generator\r\nlog-generatorは200ms毎にnginxのアクセスログのフォーマットに近似したログをstdoutに出力\r\n10%程の確率で違うフォーマットの出力を行う(fluentdのパースエラー誘発用)\r\n\r\n#### fluentd\r\nv.0.12.26\r\nfluentdの公式イメージに下記プラグインを追加\r\n`fluent-plugin-parser`\r\n`fluent-plugin-elasticsearch`\r\n\r\n#### elasticsearch\r\nv.2.3.3\r\ndockerhub公式イメージを使用\r\n\r\n#### kibana\r\nv.4.5.1\r\ndockerhub公式イメージを使用\r\n\r\n### ログルーティング\r\n全コンテナはlogging-driver経由でrx-VMの24224に対してログ送信を行っています。\r\n\r\n### elasticsearch\r\nindexは[exac05c-<日付>]としています。\r\nindex内にfluentdのtagに対応した形でtypeが存在する形にしています。\r\n`docker.log-generator`\r\n`docker.elasticsearch`\r\n`docker.kibana`\r\n`docker.fluentd`\r\n\r\ndocker.log-generator以外のタイプに関してはパース処理を通していないので\r\nlogging-driverが出力する形式のままになっています。\r\n\r\n手間の問題に各種typeに対応するmappingの定義も省いています。\r\n\r\n##  参考資料\r\n\r\n### vagrantのマルチマシン設定\r\nhttp://qiita.com/zum/items/03da94291ffbc9af2244\r\n\r\n### fluentd自身のログ取得\r\nhttp://qiita.com/repeatedly/items/691d2c33bfa06a0be781\r\n\r\n### elasticsearch-plugin\r\nhttps://github.com/uken/fluent-plugin-elasticsearch\r\n\r\n\r\n","created_at":"2016-06-23T11:46:18Z","updated_at":"2016-06-23T11:46:18Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/dueguy/exam/pulls/37/commits","review_comments_url":"https://api.github.com/repos/dueguy/exam/pulls/37/comments","review_comment_url":"https://api.github.com/repos/dueguy/exam/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dueguy/exam/issues/37/comments","statuses_url":"https://api.github.com/repos/dueguy/exam/statuses/cf717ab6729604da795d7e4d2448da5342d9fd0b","head":{"label":"oomori-pyramid-inc-net:exam05c","ref":"exam05c","sha":"cf717ab6729604da795d7e4d2448da5342d9fd0b","user":{"login":"oomori-pyramid-inc-net","id":9268052,"avatar_url":"https://avatars.githubusercontent.com/u/9268052?v=3","gravatar_id":"","url":"https://api.github.com/users/oomori-pyramid-inc-net","html_url":"https://github.com/oomori-pyramid-inc-net","followers_url":"https://api.github.com/users/oomori-pyramid-inc-net/followers","following_url":"https://api.github.com/users/oomori-pyramid-inc-net/following{/other_user}","gists_url":"https://api.github.com/users/oomori-pyramid-inc-net/gists{/gist_id}","starred_url":"https://api.github.com/users/oomori-pyramid-inc-net/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oomori-pyramid-inc-net/subscriptions","organizations_url":"https://api.github.com/users/oomori-pyramid-inc-net/orgs","repos_url":"https://api.github.com/users/oomori-pyramid-inc-net/repos","events_url":"https://api.github.com/users/oomori-pyramid-inc-net/events{/privacy}","received_events_url":"https://api.github.com/users/oomori-pyramid-inc-net/received_events","type":"User","site_admin":false},"repo":{"id":56506680,"name":"exam","full_name":"oomori-pyramid-inc-net/exam","owner":{"login":"oomori-pyramid-inc-net","id":9268052,"avatar_url":"https://avatars.githubusercontent.com/u/9268052?v=3","gravatar_id":"","url":"https://api.github.com/users/oomori-pyramid-inc-net","html_url":"https://github.com/oomori-pyramid-inc-net","followers_url":"https://api.github.com/users/oomori-pyramid-inc-net/followers","following_url":"https://api.github.com/users/oomori-pyramid-inc-net/following{/other_user}","gists_url":"https://api.github.com/users/oomori-pyramid-inc-net/gists{/gist_id}","starred_url":"https://api.github.com/users/oomori-pyramid-inc-net/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oomori-pyramid-inc-net/subscriptions","organizations_url":"https://api.github.com/users/oomori-pyramid-inc-net/orgs","repos_url":"https://api.github.com/users/oomori-pyramid-inc-net/repos","events_url":"https://api.github.com/users/oomori-pyramid-inc-net/events{/privacy}","received_events_url":"https://api.github.com/users/oomori-pyramid-inc-net/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/oomori-pyramid-inc-net/exam","description":"","fork":true,"url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam","forks_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/forks","keys_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/keys{/key_id}","collaborators_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/teams","hooks_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/hooks","issue_events_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/issues/events{/number}","events_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/events","assignees_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/assignees{/user}","branches_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/branches{/branch}","tags_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/tags","blobs_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/git/refs{/sha}","trees_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/git/trees{/sha}","statuses_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/statuses/{sha}","languages_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/languages","stargazers_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/stargazers","contributors_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/contributors","subscribers_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/subscribers","subscription_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/subscription","commits_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/commits{/sha}","git_commits_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/git/commits{/sha}","comments_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/comments{/number}","issue_comment_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/issues/comments{/number}","contents_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/contents/{+path}","compare_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/compare/{base}...{head}","merges_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/merges","archive_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/downloads","issues_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/issues{/number}","pulls_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/pulls{/number}","milestones_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/milestones{/number}","notifications_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/labels{/name}","releases_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/releases{/id}","deployments_url":"https://api.github.com/repos/oomori-pyramid-inc-net/exam/deployments","created_at":"2016-04-18T12:40:10Z","updated_at":"2016-04-18T12:40:11Z","pushed_at":"2016-06-23T11:43:36Z","git_url":"git://github.com/oomori-pyramid-inc-net/exam.git","ssh_url":"git@github.com:oomori-pyramid-inc-net/exam.git","clone_url":"https://github.com/oomori-pyramid-inc-net/exam.git","svn_url":"https://github.com/oomori-pyramid-inc-net/exam","homepage":null,"size":7891,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dueguy:master","ref":"master","sha":"b165961b5ea2d29e959bd249c19078aed3384cb9","user":{"login":"dueguy","id":10742618,"avatar_url":"https://avatars.githubusercontent.com/u/10742618?v=3","gravatar_id":"","url":"https://api.github.com/users/dueguy","html_url":"https://github.com/dueguy","followers_url":"https://api.github.com/users/dueguy/followers","following_url":"https://api.github.com/users/dueguy/following{/other_user}","gists_url":"https://api.github.com/users/dueguy/gists{/gist_id}","starred_url":"https://api.github.com/users/dueguy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dueguy/subscriptions","organizations_url":"https://api.github.com/users/dueguy/orgs","repos_url":"https://api.github.com/users/dueguy/repos","events_url":"https://api.github.com/users/dueguy/events{/privacy}","received_events_url":"https://api.github.com/users/dueguy/received_events","type":"User","site_admin":false},"repo":{"id":56290003,"name":"exam","full_name":"dueguy/exam","owner":{"login":"dueguy","id":10742618,"avatar_url":"https://avatars.githubusercontent.com/u/10742618?v=3","gravatar_id":"","url":"https://api.github.com/users/dueguy","html_url":"https://github.com/dueguy","followers_url":"https://api.github.com/users/dueguy/followers","following_url":"https://api.github.com/users/dueguy/following{/other_user}","gists_url":"https://api.github.com/users/dueguy/gists{/gist_id}","starred_url":"https://api.github.com/users/dueguy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dueguy/subscriptions","organizations_url":"https://api.github.com/users/dueguy/orgs","repos_url":"https://api.github.com/users/dueguy/repos","events_url":"https://api.github.com/users/dueguy/events{/privacy}","received_events_url":"https://api.github.com/users/dueguy/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dueguy/exam","description":"","fork":false,"url":"https://api.github.com/repos/dueguy/exam","forks_url":"https://api.github.com/repos/dueguy/exam/forks","keys_url":"https://api.github.com/repos/dueguy/exam/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dueguy/exam/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dueguy/exam/teams","hooks_url":"https://api.github.com/repos/dueguy/exam/hooks","issue_events_url":"https://api.github.com/repos/dueguy/exam/issues/events{/number}","events_url":"https://api.github.com/repos/dueguy/exam/events","assignees_url":"https://api.github.com/repos/dueguy/exam/assignees{/user}","branches_url":"https://api.github.com/repos/dueguy/exam/branches{/branch}","tags_url":"https://api.github.com/repos/dueguy/exam/tags","blobs_url":"https://api.github.com/repos/dueguy/exam/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dueguy/exam/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dueguy/exam/git/refs{/sha}","trees_url":"https://api.github.com/repos/dueguy/exam/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dueguy/exam/statuses/{sha}","languages_url":"https://api.github.com/repos/dueguy/exam/languages","stargazers_url":"https://api.github.com/repos/dueguy/exam/stargazers","contributors_url":"https://api.github.com/repos/dueguy/exam/contributors","subscribers_url":"https://api.github.com/repos/dueguy/exam/subscribers","subscription_url":"https://api.github.com/repos/dueguy/exam/subscription","commits_url":"https://api.github.com/repos/dueguy/exam/commits{/sha}","git_commits_url":"https://api.github.com/repos/dueguy/exam/git/commits{/sha}","comments_url":"https://api.github.com/repos/dueguy/exam/comments{/number}","issue_comment_url":"https://api.github.com/repos/dueguy/exam/issues/comments{/number}","contents_url":"https://api.github.com/repos/dueguy/exam/contents/{+path}","compare_url":"https://api.github.com/repos/dueguy/exam/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dueguy/exam/merges","archive_url":"https://api.github.com/repos/dueguy/exam/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dueguy/exam/downloads","issues_url":"https://api.github.com/repos/dueguy/exam/issues{/number}","pulls_url":"https://api.github.com/repos/dueguy/exam/pulls{/number}","milestones_url":"https://api.github.com/repos/dueguy/exam/milestones{/number}","notifications_url":"https://api.github.com/repos/dueguy/exam/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dueguy/exam/labels{/name}","releases_url":"https://api.github.com/repos/dueguy/exam/releases{/id}","deployments_url":"https://api.github.com/repos/dueguy/exam/deployments","created_at":"2016-04-15T04:03:48Z","updated_at":"2016-04-15T04:08:45Z","pushed_at":"2016-06-23T11:46:19Z","git_url":"git://github.com/dueguy/exam.git","ssh_url":"git@github.com:dueguy/exam.git","clone_url":"https://github.com/dueguy/exam.git","svn_url":"https://github.com/dueguy/exam","homepage":null,"size":7958,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"open_issues_count":3,"forks":3,"open_issues":3,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dueguy/exam/pulls/37"},"html":{"href":"https://github.com/dueguy/exam/pull/37"},"issue":{"href":"https://api.github.com/repos/dueguy/exam/issues/37"},"comments":{"href":"https://api.github.com/repos/dueguy/exam/issues/37/comments"},"review_comments":{"href":"https://api.github.com/repos/dueguy/exam/pulls/37/comments"},"review_comment":{"href":"https://api.github.com/repos/dueguy/exam/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dueguy/exam/pulls/37/commits"},"statuses":{"href":"https://api.github.com/repos/dueguy/exam/statuses/cf717ab6729604da795d7e4d2448da5342d9fd0b"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":236,"deletions":9,"changed_files":13}}
{"actor":{"display_login":"oomori-pyramid-inc-net"}}