{"id":1305,"date":"2014-12-26T16:21:23","date_gmt":"2014-12-26T08:21:23","guid":{"rendered":"https:\/\/cowmanchiang.me\/wp\/?p=1305"},"modified":"2023-10-31T15:44:07","modified_gmt":"2023-10-31T07:44:07","slug":"logstash-redis-nginx-kibana-elasticsearch","status":"publish","type":"post","link":"https:\/\/cowmanchiang.me\/wp\/?p=1305","title":{"rendered":"Logstash + Redis + Nginx + Kibana + ElasticSearch"},"content":{"rendered":"<p>\u74b0\u5883: Ubuntu 14.04 x64 server<\/p>\n<ol>\n<li>\u5b89\u88ddJava\u74b0\u5883<\/li>\n<\/ol>\n<pre lang=\"bash\">sudo apt-get install openjdk-7-jdk<\/pre>\n<ol>\n<li>\u4e0b\u8f09Logstash\u58d3\u7e2e\u6a94<\/li>\n<\/ol>\n<pre lang=\"bash\">cd \/tmp\ncurl -O https:\/\/download.elasticsearch.org\/logstash\/logstash\/logstash-1.4.0.tar.gz\ntar zxvf logstash-1.4.0.tar.gz -C \/opt\/logstash<\/pre>\n<p>\u57fa\u672c\u6e2c\u8a66<\/p>\n<pre lang=\"bash\">cd \/opt\/logstash\nbin\/logstash -e 'input { stdin { } } output { stdout {} }\n# \u8a66\u8457\u6253\u5e7e\u500b\u5b57\u770b\u770b<\/pre>\n<ol>\n<li>\u5b89\u88ddElasticsearch<\/li>\n<\/ol>\n<pre lang=\"bash\">cd \/tmp\nwget https:\/\/download.elasticsearch.org\/elasticsearch\/elasticsearch\/elasticsearch-1.1.1.deb\nsudo dpkg -i elasticsearch-1.1.1.deb<\/pre>\n<ol>\n<li>\u8a2d\u5b9aElasticsearch<br \/>\n\u7de8\u8f2f\/etc\/elasticsearch\/elasticsearch.yml<br \/>\n\u53d6\u6d88cluster.name\u3001node.name\u7684\u6ce8\u89e3\u4e26\u6539\u6210\u81ea\u5df1\u60f3\u8981\u7684<\/li>\n<\/ol>\n<p>\u91cd\u65b0\u555f\u52d5Elasticsearch<\/p>\n<pre lang=\"bash\">sudo service elastic search restart<\/pre>\n<ol>\n<li>\u5b89\u88ddRedis<\/li>\n<\/ol>\n<pre lang=\"bash\">sudo apt-get install redis-server<\/pre>\n<ol>\n<li>\u8a2d\u5b9aRedis<br \/>\n\u7de8\u8f2f\/etc\/redis\/redis.conf\uff0c\u4f7f\u7528<\/li>\n<\/ol>\n<pre lang=\"bash\">bind 0.0.0.0\n\u53d6\u4ee3\nbind 127.0.0.1<\/pre>\n<p>\u91cd\u65b0\u555f\u52d5Redis<\/p>\n<pre lang=\"bash\">sudo service redis-server restart<\/pre>\n<ol>\n<li>\u4e0b\u8f09Kibana<\/li>\n<\/ol>\n<pre lang=\"bash\">cd \/tmp\nwget https:\/\/download.elasticsearch.org\/kibana\/kibana\/kibana-3.0.0.tar.gz\nmkdir -p \/var\/www\/kibana\ntar xvfz kibana-3.0.0.tar.gz -C \/var\/www\/kibana<\/pre>\n<ol>\n<li>\u7de8\u8f2fKibana\u8a2d\u5b9a\u6a94<br \/>\n\u7de8\u8f2f\/var\/www\/kubana\/config.js\uff0c\u4f7f\u7528<\/li>\n<\/ol>\n<pre lang=\"bash\">elasticsearch: \"http:\/\/\u672c\u6a5fIP:9200\"\n\u53d6\u4ee3\nelasticsearch: \"http:\/\/\"+window.location.hostname+\":9200\"<\/pre>\n<ol>\n<li>\u8a2d\u5b9aLogstash Server\u8a2d\u5b9a\u6a94<br \/>\n\u7de8\u8f2f\/etc\/logstash\/server.conf<\/li>\n<\/ol>\n<pre lang=\"bash\">input {\n  redis {\n    host => \"\u672c\u6a5fIP\"\n    type => \"redis\"\n    data_type => \"list\"\n    key => \"logstash\"\n  }\n}\noutput {\nstdout { }\n  elasticsearch {\n    cluster => \"elasticsearch\"\n  }\n}<\/pre>\n<ol>\n<li>\u6e2c\u8a66Logstash\u80fd\u5426\u4ee5Server\u555f\u52d5<\/li>\n<\/ol>\n<pre lang=\"bash\">\/opt\/logstash\/bin\/logstash --verbose -f \/etc\/logstash\/server.conf<\/pre>\n<ol>\n<li>\u5b89\u88ddNginx<\/li>\n<\/ol>\n<pre lang=\"bash\">sudo apt-get install nginx<\/pre>\n<ol>\n<li>\u8a2d\u5b9aNginx<br \/>\n\u7de8\u8f2f\/etc\/nginx\/sites-enabled\/default\uff0c\u4f7f\u7528<\/li>\n<\/ol>\n<pre lang=\"bash\">root \/var\/www\/kibana\n\u53d6\u4ee3\nroot \/usr\/share\/nginx\/www<\/pre>\n<p>\u91cd\u65b0\u555f\u52d5Nginx<\/p>\n<pre lang=\"bash\">service nginx restart<\/pre>\n<ol>\n<li>\u8a2d\u5b9aLogstash agent\u8a2d\u5b9a\u6a94<br \/>\n\u7de8\u8f2f\/etc\/logstash\/agent.conf<\/li>\n<\/ol>\n<pre lang=\"bash\">input {\n  file {\n    type => \"nginx-access\"\n    path => \"\/var\/log\/nginx\/access.log\"\n  }\n \n  file {\n    type => \"nginx-error\"\n    path => \"\/var\/log\/nginx\/error.log\"\n  }\n\n  tcp {\n    port => 514\n    type => syslog\n  }\n\n  udp {\n    port => 514\n    type => syslog\n  }\n}\n \noutput {\n  stdout { }\n  redis {\n    host => \"\u672c\u6a5fIP\"\n    data_type => \"list\"\n    key => \"logstash\"\n  }\n}<\/pre>\n<ol>\n<li>\u6e2c\u8a66Logstash\u80fd\u5426\u4ee5agent\u555f\u52d5<\/li>\n<\/ol>\n<pre lang=\"bash\">\/opt\/logstash\/bin\/logstash agent --verbose -f \/etc\/logstash\/agent.conf<\/pre>\n<ol>\n<li>\u8a2d\u5b9aLogstash Upstart Service<br \/>\n(1) \u7de8\u8f2f\/etc\/init\/logstash-server.conf<\/li>\n<\/ol>\n<pre lang=\"bash\">description \"Logstash Server\"\n\n#start on started networking\nstart on started redis-server\nstop on runlevel [!2345]\n\nenv LogstashHome=\/opt\/logstash\nenv LogstashLogs=\/var\/log\/logstash\n\nrespawn\n\npre-start script\n    cd $LogstashHome\n    mkdir $LogstashLogs                        ||true\nend script\n\nscript\n  cd $LogstashHome\n  .\/bin\/logstash --verbose -f \/etc\/logstash\/server.conf \n                        >> $LogstashLogs\/access.log \n                        2>> $LogstashLogs\/error.log\nend script<\/pre>\n<p>(2) \u7de8\u8f2f\/etc\/init\/logstash-agent.conf<\/p>\n<pre lang=\"bash\">description \"Logstash Agent\"\n\n#start on started networking\nstart on runlevel [2345]\nstop on runlevel [!2345]\n\nenv LogstashHome=\/opt\/logstash\nenv LogstashLogs=\/var\/log\/logstash\n\nrespawn\n\npre-start script\n    cd $LogstashHome\n    mkdir $LogstashLogs                        ||true\nend script\n\nscript\n  cd $LogstashHome\n  .\/bin\/logstash agent --verbose -f \/etc\/logstash\/agent.conf \n                        >> $LogstashLogs\/agent-access.log \n                        2>> $LogstashLogs\/agent-error.log\nend script<\/pre>\n<ol>\n<li>\u4f7f\u7528Upstart Service\u6e2c\u8a66\u555f\u52d5Logstash<\/li>\n<\/ol>\n<pre lang=\"bash\">start logstash-server\nstart logstash-agent<\/pre>\n<p>\u5099\u8a3b:<br \/>\n1. \u6e2c\u8a66Logstash\u8a2d\u5b9a\u6a94<\/p>\n<pre lang=\"bash\">logstash --configtest -f \u6a94\u6848<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u74b0\u5883: Ubuntu 14.04 x64 server \u5b89\u88ddJava\u74b0\u5883 sudo apt-get install openjdk-7-jdk \u4e0b\u8f09Logstash\u58d3\u7e2e\u6a94 cd \/tmp curl -O https:\/\/download.elasticsearch.org\/logstash\/logstash\/logstash-1.4.0.tar.gz tar zxvf logstash-1.4.0.tar.gz -C \/opt\/logstash \u57fa\u672c\u6e2c\u8a66 cd \/opt\/logstash bin\/logstash -e &#8216;input { stdin { } } output { stdout {} } # \u8a66\u8457\u6253\u5e7e\u500b\u5b57\u770b\u770b \u5b89\u88ddElasticsearch &hellip; <a href=\"https:\/\/cowmanchiang.me\/wp\/?p=1305\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[40,57,59,74],"tags":[],"class_list":["post-1305","post","type-post","status-publish","format-standard","hentry","category-elasticsearch","category-kibana","category-logstash","category-redis"],"_links":{"self":[{"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1305"}],"version-history":[{"count":1,"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1305\/revisions"}],"predecessor-version":[{"id":1958,"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1305\/revisions\/1958"}],"wp:attachment":[{"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1305"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1305"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}