{"id":553,"date":"2017-12-28T14:50:27","date_gmt":"2017-12-28T06:50:27","guid":{"rendered":"https:\/\/blog.jsjs.org\/?p=553"},"modified":"2017-12-28T14:50:27","modified_gmt":"2017-12-28T06:50:27","slug":"centos7%e4%b8%8b%e4%bd%bf%e7%94%a8elk%ef%bc%88elasticsearch-logstash-kibana%ef%bc%89%e6%90%ad%e5%bb%ba%e6%97%a5%e5%bf%97%e9%9b%86%e4%b8%ad%e5%88%86%e6%9e%90%e5%b9%b3%e5%8f%b0","status":"publish","type":"post","link":"https:\/\/blog.jsjs.org\/?p=553","title":{"rendered":"Centos7\u4e0b\u4f7f\u7528ELK\uff08Elasticsearch + Logstash + Kibana\uff09\u642d\u5efa\u65e5\u5fd7\u96c6\u4e2d\u5206\u6790\u5e73\u53f0"},"content":{"rendered":"<p>\u65e5\u5fd7\u76d1\u63a7\u548c\u5206\u6790\u5728\u4fdd\u969c\u4e1a\u52a1\u7a33\u5b9a\u8fd0\u884c\u65f6\uff0c\u8d77\u5230\u4e86\u5f88\u91cd\u8981\u7684\u4f5c\u7528\uff0c\u4e0d\u8fc7\u4e00\u822c\u60c5\u51b5\u4e0b\u65e5\u5fd7\u90fd\u5206\u6563\u5728\u5404\u4e2a\u751f\u4ea7\u670d\u52a1\u5668\uff0c\u4e14\u5f00\u53d1\u4eba\u5458\u65e0\u6cd5\u767b\u9646\u751f\u4ea7\u670d\u52a1\u5668\uff0c\u8fd9\u65f6\u5019\u5c31\u9700\u8981\u4e00\u4e2a\u96c6\u4e2d\u5f0f\u7684\u65e5\u5fd7\u6536\u96c6\u88c5\u7f6e\uff0c\u5bf9\u65e5\u5fd7\u4e2d\u7684\u5173\u952e\u5b57\u8fdb\u884c\u76d1\u63a7\uff0c\u89e6\u53d1\u5f02\u5e38\u65f6\u8fdb\u884c\u62a5\u8b66\uff0c\u5e76\u4e14\u5f00\u53d1\u4eba\u5458\u80fd\u591f\u67e5\u770b\u76f8\u5173\u65e5\u5fd7\u3002logstash+elasticsearch+kibana3\u5c31\u662f\u5b9e\u73b0\u8fd9\u6837\u529f\u80fd\u7684\u4e00\u5957\u7cfb\u7edf\uff0c\u5e76\u4e14\u529f\u80fd\u66f4\u5f3a\u5927\u3002<\/p>\n<p>Logstash\uff1a\u8d1f\u8d23\u65e5\u5fd7\u7684\u6536\u96c6\uff0c\u5904\u7406\u548c\u50a8\u5b58<br \/>\nElasticsearch\uff1a\u8d1f\u8d23\u65e5\u5fd7\u68c0\u7d22\u548c\u5206\u6790<br \/>\nKibana\uff1a\u8d1f\u8d23\u65e5\u5fd7\u7684\u53ef\u89c6\u5316<\/p>\n<p>1\u3001\u73af\u5883\u4ecb\u7ecd<\/p>\n<p>elkServer<br \/>\nIP:192.168.7.27<br \/>\nOS\uff1aCentos7.1<br \/>\nFQDN:elk.server.com<\/p>\n<p>elkClient<\/p>\n<p>IP:192.168.31.23<br \/>\nOS\uff1aCentos7.1<\/p>\n<p>2\u3001\u4e0b\u8f7d\u51c6\u5907<\/p>\n<p>\u5b98\u7f51\u4e0b\u8f7d\u6700\u65b0\u7684\u5b89\u88c5\u5305\uff1ahttps:\/\/www.elastic.co\/downloads\uff08\u76ee\u524d\u6709\u4e9b\u7248\u672c\u7684\u5305\u53ef\u80fd\u4e0b\u8f7d\u4e0d\u5230\u4e86\uff0c\u8bf7\u5230\u8be5\u5730\u5740\u4e0b\u8f7d\u2014\u2014\u94fe\u63a5\uff1ahttp:\/\/pan.baidu.com\/s\/1gfohO2Z \u5bc6\u7801\uff1a5s1f\uff09<\/p>\n<div class=\"cnblogs_code\">\n<pre>elasticsearch-1.7.3.noarch.rpm           \uff08server\u4e0a\u5b89\u88c5\uff09\nkibana-4.1.2-linux-x64.tar.gz            \uff08server\u4e0a\u5b89\u88c5\uff09\nlogstash-1.5.4-1.noarch.rpm              \uff08server\u4e0a\u5b89\u88c5\uff09\nlogstash-forwarder-0.4.0-1.x86_64.rpm    \uff08client\u4e0a\u5b89\u88c5\uff09<\/pre>\n<\/div>\n<p>3\u3001Server\u7aef\u5b89\u88c5<\/p>\n<p>3.1\u5b89\u88c5jdk1.7<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"https:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>[root@localhost ~]# yum install java-1.7.0-openjdk\nLoaded plugins: fastestmirror, langpacks\nbase                                                                             | 3.6 kB  00:00:00\nextras                                                                           | 3.4 kB  00:00:00\nupdates                                                                          | 3.4 kB  00:00:00\nLoading mirror speeds from cached hostfile\n * base: mirrors.btte.net\n * extras: mirrors.163.com\n * updates: mirrors.163.com\nPackage 1:java-1.7.0-openjdk-1.7.0.91-2.6.2.1.el7_1.x86_64 already installed and latest version\nNothing to do<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"https:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>3.2\u5b89\u88c5elasticsearch<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"https:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>[root@localhost elk]# yum localinstall elasticsearch-1.7.3.noarch.rpm    <strong>(yum<\/strong><strong> \u672c\u5730\u5b89\u88c5elasticsearch\uff09\n<\/strong>Loaded plugins: fastestmirror, langpacks\nExamining elasticsearch-1.7.3.noarch.rpm: elasticsearch-1.7.3-1.noarch\nelasticsearch-1.7.3.noarch.rpm: does not update installed package.\nNothing to do\n[root@localhost elk]# systemctl daemon-reload\n[root@localhost elk]# systemctl enable elasticsearch.service     <strong>\uff08\u8bbe\u7f6e\u5f00\u673a\u81ea\u542f\u52a8\uff09\n<\/strong>ln -s '\/usr\/lib\/systemd\/system\/elasticsearch.service' '\/etc\/systemd\/system\/multi-user.target.wants\/elasticsearch.service'\n[root@localhost elk]# systemctl start elasticsearch.service    <strong>\uff08\u5f00\u542f\u670d\u52a1\uff09\n<\/strong>[root@localhost elk]# systemctl status elasticsearch.service    <strong>\uff08\u67e5\u770b\u670d\u52a1\u72b6\u6001\uff09\n<\/strong>elasticsearch.service - Elasticsearch\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/elasticsearch.service; enabled)\n   Active: active (running) since Sun 2015-11-08 11:05:09 CST; 28s ago\n     Docs: http:\/\/www.elastic.co\n Main PID: 15345 (java)\n   CGroup: \/system.slice\/elasticsearch.service\n           ?..15345 java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+Heap...\n\nNov 08 11:05:09 localhost.localdomain systemd[1]: Started Elasticsearch.\n[root@localhost elk]# rpm -qc elasticsearch\n\/etc\/elasticsearch\/elasticsearch.yml\n\/etc\/elasticsearch\/logging.yml\n\/etc\/init.d\/elasticsearch\n\/etc\/sysconfig\/elasticsearch\n\/usr\/lib\/sysctl.d\/elasticsearch.conf\n\/usr\/lib\/systemd\/system\/elasticsearch.service\n\/usr\/lib\/tmpfiles.d\/elasticsearch.conf\n[root@localhost elk]# netstat -nltp    <strong>\uff08\u67e5\u770b\u7aef\u53e3\u76d1\u542c\u72b6\u51b5\uff09<\/strong>\nActive Internet connections (only servers)\nProto Recv-Q Send-Q Local Address           Foreign Address         State       PID\/Program name\ntcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      784\/rpcbind\ntcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1457\/sshd\ntcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      3213\/cupsd\ntcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2656\/master\ntcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      14407\/sshd: root@pt\ntcp6       0      0 :::111                  :::*                    LISTEN      784\/rpcbind\n<strong>tcp6       <\/strong><strong>0      0 :::9200                 :::*                    LISTEN      15345\/java\ntcp6       0      0 :::9300                 :::*                    LISTEN      15345\/<\/strong><strong>java  <\/strong>\ntcp6       0      0 :::22                   :::*                    LISTEN      1457\/sshd\ntcp6       0      0 ::1:631                 :::*                    LISTEN      3213\/cupsd\ntcp6       0      0 ::1:25                  :::*                    LISTEN      2656\/master\ntcp6       0      0 ::1:6010                :::*                    LISTEN      14407\/sshd: root@pt\n[root@localhost elk]# firewall-cmd --permanent --add-port={9200\/tcp,9300\/tcp}    <strong>\uff08\u9632\u706b\u5899\u6dfb\u52a0\u4e24\u4e2a\u7aef\u53e3\uff09\n<\/strong>success\n[root@localhost elk]# firewall-cmd --reload    <strong>\uff08\u91cd\u8f7d\u9632\u706b\u5899\uff09\n<\/strong>success\n[root@localhost elk]# firewall-cmd --list-all    <strong>\uff08\u67e5\u770b\u9632\u706b\u5899\u5f00\u53d1\u7aef\u53e3\uff09<\/strong>\npublic (default, active)\n  interfaces: ens33\n  sources:\n  services: dhcpv6-client ssh\n  ports: 9200\/tcp 9300\/tcp\n  masquerade: no\n  forward-ports:\n  icmp-blocks:\n  rich rules:<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"https:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>3.3\u5b89\u88c5kibana<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"https:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>[root@localhost elk]# tar zxf kibana-4.1.2-linux-x64.tar.gz -C \/usr\/local\/<strong>    \uff08\u89e3\u538b\u7f29\u5b89\u88c5\u5305\u5230\u6307\u5b9a\u76ee\u5f55\u4e2d\uff09\n<\/strong>[root@localhost elk]# cd \/usr\/local\/\n[root@localhost local]# ls\nbin  etc  games  include  kibana-4.1.2-linux-x64  lib  lib64  libexec  sbin  share  src\n[root@localhost local]# mv kibana-4.1.2-linux-x64\/ kibana    <strong>\uff08\u91cd\u547d\u540d\uff09\n<\/strong>[root@localhost local]# cd kibana\/\n[root@localhost kibana]# ls\nbin  config  LICENSE.txt  node  plugins  README.txt  src\n[root@localhost kibana]# cd bin\/\n[root@localhost bin]# ls    <strong>\uff08\u8fd0\u884c.\/<\/strong><strong>kibana\u5373\u53ef\u5f00\u542f\u670d\u52a1\uff0c\u4f46\u6211\u4eec\u5c06\u5176\u505a\u5230service\uff09\n<\/strong>kibana  kibana.bat\n[root@localhost bin]# cd \/etc\/systemd\/system\/\n[root@localhost system]# vi kibana.service    <strong>\uff08\u7f16\u8f91kibana\u670d\u52a1\uff09\n<\/strong>\n[Service]\nExecStart=\/usr\/local\/kibana\/bin\/kibana\n\n[Install]\nWantedBy=multi-user.target\n\n[root@localhost system]# systemctl enable kibana.service    <strong>\uff08\u8bbe\u7f6e\u5f00\u673a\u81ea\u542f\u52a8\uff09\n<\/strong>ln -s '\/etc\/systemd\/system\/kibana.service' '\/etc\/systemd\/system\/multi-user.target.wants\/kibana.service'\n[root@localhost system]# systemctl start kibana.service    <strong>\uff08\u5f00\u542f\u670d\u52a1\uff09\n<\/strong>[root@localhost system]# systemctl status kibana.service    <strong>\uff08\u67e5\u770b\u670d\u52a1\u8fd0\u884c\u72b6\u6001\uff09\n<\/strong>kibana.service\n   Loaded: loaded (\/etc\/systemd\/system\/kibana.service; enabled)\n   Active: active (running) since Sun 2015-11-08 11:16:28 CST; 10s ago\n Main PID: 16131 (node)\n   CGroup: \/system.slice\/kibana.service\n           ?..16131 \/usr\/local\/kibana\/bin\/..\/node\/bin\/node \/usr\/local\/kibana\/bin\/..\/src\/bin\/kibana.js\n\nNov 08 11:16:28 localhost.localdomain systemd[1]: Started kibana.service.\nNov 08 11:16:34 localhost.localdomain kibana[16131]: {\"name\":\"Kibana\",\"hostname\":\"localhost.localdomain\",\"pid\":16131,\"level\":30,\"msg\":\"No existing kibana index found\",\"time\":\"20...43Z\",\"v\":0}\nNov 08 11:16:34 localhost.localdomain kibana[16131]: {\"name\":\"Kibana\",\"hostname\":\"localhost.localdomain\",\"pid\":16131,\"level\":30,\"msg\":\"Listening on 0.0.0.0:5601\",\"time\":\"2015-11...93Z\",\"v\":0}\nHint: Some lines were ellipsized, use -l to show in full.\n[root@localhost system]# netstat -nltp    <strong>\uff08\u67e5\u770b\u7aef\u53e3\u76d1\u542c\u72b6\u6001\uff09\n<\/strong>Active Internet connections (only servers)\nProto Recv-Q Send-Q Local Address           Foreign Address         State       PID\/Program name\n<strong>tcp        <\/strong><strong>0      0 0.0.0.0:5601            0.0.0.0:*               LISTEN      16131\/<\/strong><strong>node<\/strong>\ntcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      784\/rpcbind\ntcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1457\/sshd\ntcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      3213\/cupsd\ntcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2656\/master\ntcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      14407\/sshd: root@pt\ntcp6       0      0 :::111                  :::*                    LISTEN      784\/rpcbind\ntcp6       0      0 :::9200                 :::*                    LISTEN      15345\/java\ntcp6       0      0 :::9300                 :::*                    LISTEN      15345\/java\ntcp6       0      0 :::22                   :::*                    LISTEN      1457\/sshd\ntcp6       0      0 ::1:631                 :::*                    LISTEN      3213\/cupsd\ntcp6       0      0 ::1:25                  :::*                    LISTEN      2656\/master\ntcp6       0      0 ::1:6010                :::*                    LISTEN      14407\/sshd: root@pt\n[root@localhost system]# firewall-cmd --permanent --add-port=5601\/tcp    <strong>\uff08\u9632\u706b\u5899\u5f00\u542f5601\u7aef\u53e3\uff09\n<\/strong>success\n[root@localhost system]# firewall-cmd --reload    <strong>\uff08\u91cd\u8f7d\u9632\u706b\u5899\uff09\n<\/strong>success\n[root@localhost system]# firewall-cmd --list-all    <strong>\uff08\u67e5\u770b\u9632\u706b\u5899\u5f00\u653e\u7aef\u53e3\uff09\n<\/strong>public (default, active)\n  interfaces: ens33\n  sources:\n  services: dhcpv6-client ssh\n  ports: 9200\/tcp 9300\/tcp 5601\/tcp\n  masquerade: no\n  forward-ports:\n  icmp-blocks:\n  rich rules:\n\n[root@localhost system]# firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=5601    \uff08\u4e3a5601\u7aef\u53e3\u6dfb\u52a080\u7aef\u53e3\u7684\u6620\u5c04\uff0c\u8fd9\u6837\u5728\u6d4f\u89c8\u5668\u4e2d\u5c31\u53ef\u4ee5\u4e0d\u7528\u8f93\u5165\u7aef\u53e3\u4e86\uff09\nsuccess\n[root@localhost system]# firewall-cmd --reload    <strong>\uff08\u91cd\u8f7d\u9632\u706b\u5899\uff09\n<\/strong>success\n[root@localhost system]# firewall-cmd --list-all    <strong>\uff08\u67e5\u770b\u9632\u706b\u5899\u5f00\u653e\u7aef\u53e3\uff09\n<\/strong>public (default, active)\n  interfaces: ens33\n  sources:\n  services: dhcpv6-client ssh\n  ports: 9200\/tcp 9300\/tcp 5601\/tcp\n  masquerade: no\n  forward-ports: port=80:proto=tcp:toport=5601:toaddr=\n  icmp-blocks:\n  rich rules:\n<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"https:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>3.4\u5b89\u88c5logstash<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"https:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>[root@localhost system]# cd \/home\/elk\/\n[root@localhost elk]# ls\nelasticsearch-1.7.3.noarch.rpm  kibana-4.1.2-linux-x64.tar.gz  logstash-1.5.4-1.noarch.rpm  logstash-forwarder-0.4.0-1.x86_64.rpm\n[root@localhost elk]# yum localinstall logstash-1.5.4-1.noarch.rpm    <strong>\uff08yum\u672c\u5730\u5b89\u88c5logstash\uff09\n<\/strong>Loaded plugins: fastestmirror, langpacks\nExamining logstash-1.5.4-1.noarch.rpm: 1:logstash-1.5.4-1.noarch\nMarking logstash-1.5.4-1.noarch.rpm to be installed\nResolving Dependencies\n--&gt; Running transaction check\n---&gt; Package logstash.noarch 1:1.5.4-1 will be installed\n--&gt; Finished Dependency Resolution\nbase\/7\/x86_64                                                                          | 3.6 kB  00:00:00\nextras\/7\/x86_64                                                                        | 3.4 kB  00:00:00\nextras\/7\/x86_64\/primary_db                                                             | 116 kB  00:00:00\nupdates\/7\/x86_64                                                                       | 3.4 kB  00:00:00\nupdates\/7\/x86_64\/primary_db                                                            | 4.7 MB  00:00:03\n\nDependencies Resolved\n\n===============================================================================================================================================================================================\n Package                                   Arch                                    Version                                     Repository                                                 Size\n===============================================================================================================================================================================================\nInstalling:\n logstash                                  noarch                                  1:1.5.4-1                                   \/logstash-1.5.4-1.noarch                                  136 M\n\nTransaction Summary\n===============================================================================================================================================================================================\nInstall  1 Package\n\nTotal size: 136 M\nInstalled size: 136 M\nIs this ok [y\/d\/N]: y\nDownloading packages:\nRunning transaction check\nRunning transaction test\nTransaction test succeeded\nRunning transaction\n  Installing : 1:logstash-1.5.4-1.noarch                                                                                                                                                   1\/1\n  Verifying  : 1:logstash-1.5.4-1.noarch                                                                                                                                                   1\/1\n\nInstalled:\n  logstash.noarch 1:1.5.4-1\n\nComplete!\n[root@localhost tls]# hostname -f    <strong>\uff08\u67e5\u770b\u5f53\u524dFQDN\uff0cFQDN\u8bbe\u7f6e\u53c2\u89c1http:\/\/www.cnblogs.com\/zhenyuyaodidiao\/p\/4947930.html\uff09\n<\/strong>elk.server.com\n[root@localhost ~]# cd \/etc\/pki\/tls\/    <strong>\uff08\u8fdb\u5165\u5230\/etc\/pki\/tls\/<\/strong><strong>\u6587\u4ef6\u5939\uff09<\/strong>\n[root@localhost tls]# ls\ncert.pem  certs  misc  openssl.cnf  private\n<strong>\uff08\u4ee5\u4e0b\u751f\u6210openssl key\u7528\u4e8e\u5ba2\u6237\u7aef\u4e0a\u4f20\u65e5\u5fd7\u6587\u4ef6\u7528\uff0c\u5728\u5ba2\u6237\u7aef\u914d\u7f6e\u65f6\u4f1a\u7528\u5230\uff09<\/strong>\n[root@localhost tls]# openssl req -subj '\/CN=<strong>elk.server.com<\/strong>\/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout private\/logstash-forwarder.key -out certs\/logstash-forwarder.crt\nGenerating a 2048 bit RSA private key\n..............+++\n.............+++\nwriting new private key to 'private\/logstash-forwarder.key'\n-----\n[root@localhost tls]# ls\ncert.pem  certs  misc  openssl.cnf  private\n[root@localhost tls]# cd private\/\n[root@localhost private]# ll\ntotal 4\n-rw-r--r--. 1 root root 1704 Nov  8 17:20 logstash-forwarder.key\n[root@localhost private]# cd ..\/certs\/\n[root@localhost certs]# ll\ntotal 16\nlrwxrwxrwx. 1 root root   49 Apr 14  2015 ca-bundle.crt -&gt; \/etc\/pki\/ca-trust\/extracted\/pem\/tls-ca-bundle.pem\nlrwxrwxrwx. 1 root root   55 Apr 14  2015 ca-bundle.trust.crt -&gt; \/etc\/pki\/ca-trust\/extracted\/openssl\/ca-bundle.trust.crt\n-rw-r--r--. 1 root root 1107 Nov  8 17:20 logstash-forwarder.crt\n-rwxr-xr-x. 1 root root  610 Mar 24  2015 make-dummy-cert\n-rw-r--r--. 1 root root 2388 Mar 24  2015 Makefile\n-rwxr-xr-x. 1 root root  829 Mar 24  2015 renew-dummy-cert\n[root@localhost ~]# cd \/etc\/logstash\/conf.d\/\n[root@localhost conf.d]# vi 01-logstash-initial.conf    <strong>\uff08\u7f16\u8f91logstash\u914d\u7f6e\u6587\u4ef6\uff09\n<\/strong>\ninput {\n  lumberjack {\n    port =&gt; 5000\n    type =&gt; \"logs\"\n    ssl_certificate =&gt; \"\/etc\/pki\/tls\/certs\/logstash-forwarder.crt\"\n    ssl_key =&gt; \"\/etc\/pki\/tls\/private\/logstash-forwarder.key\"\n  }\n}\n\n\nfilter {\n  if [type] == \"syslog\" {\n    grok {\n      match =&gt; { \"message\" =&gt; \"%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\\[%{POSINT:syslog_pid}\\])?: %{GREEDYDATA:syslog_message}\" }\n      add_field =&gt; [ \"received_at\", \"%{@timestamp}\" ]\n      add_field =&gt; [ \"received_from\", \"%{host}\" ]\n    }\n    syslog_pri { }\n    date {\n      match =&gt; [ \"syslog_timestamp\", \"MMM  d HH:mm:ss\", \"MMM dd HH:mm:ss\" ]\n    }\n  }\n}\n\noutput {\n  elasticsearch { host =&gt; localhost }\n  stdout { codec =&gt; rubydebug }\n}\n\n\n\n[root@localhost conf.d]# systemctl enable logstash    <strong>\uff08\u8bbe\u7f6e\u5f00\u673a\u81ea\u542f\u52a8\uff09\n<\/strong>logstash.service is not a native service, redirecting to \/sbin\/chkconfig.\nExecuting \/sbin\/chkconfig logstash on\nThe unit files have no [Install] section. They are not meant to be enabled\nusing systemctl.\nPossible reasons for having this kind of units are:\n1) A unit may be statically enabled by being symlinked from another unit's\n   .wants\/ or .requires\/ directory.\n2) A unit's purpose may be to act as a helper for some other unit which has\n   a requirement dependency on it.\n3) A unit may be started when needed via activation (socket, path, timer,\n   D-Bus, udev, scripted systemctl call, ...).\n[root@localhost conf.d]# systemctl start logstash.service    <strong>\uff08\u5f00\u542flogstash\u670d\u52a1\uff09\n<\/strong>[root@localhost conf.d]# systemctl status logstash.service    <strong>\uff08\u67e5\u770b\u670d\u52a1\u8fd0\u884c\u72b6\u6001\uff09\n<\/strong>logstash.service - LSB: Starts Logstash as a daemon.\n   Loaded: loaded (\/etc\/rc.d\/init.d\/logstash)\n   Active: active (running) since Sun 2015-11-08 17:28:34 CST; 14s ago\n  Process: 20799 ExecStart=\/etc\/rc.d\/init.d\/logstash start (code=exited, status=0\/SUCCESS)\n   CGroup: \/system.slice\/logstash.service\n           ?..20805 java -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Djava.awt.headless=true -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Djava.io.tmpdir=\/var\/lib...\n\nNov 08 17:28:34 elk logstash[20799]: logstash started.\nNov 08 17:28:34 elk systemd[1]: Started LSB: Starts Logstash as a daemon..\n[root@localhost conf.d]# netstat -nltp    <strong>\uff08\u67e5\u770b\u7aef\u53e3\u5360\u7528\uff09<\/strong>\nActive Internet connections (only servers)\nProto Recv-Q Send-Q Local Address           Foreign Address         State       PID\/Program name\ntcp        0      0 0.0.0.0:5601            0.0.0.0:*               LISTEN      16131\/node\ntcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      784\/rpcbind\ntcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1457\/sshd\ntcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      3213\/cupsd\ntcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2656\/master\ntcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      14407\/sshd: root@pt\ntcp        0      0 127.0.0.1:6012          0.0.0.0:*               LISTEN      17715\/sshd: root@pt\n<strong>tcp6       <\/strong><strong>0      0 :::5000                 :::*                    LISTEN      20805\/<\/strong><strong>java<\/strong>\ntcp6       0      0 :::111                  :::*                    LISTEN      784\/rpcbind\ntcp6       0      0 :::9200                 :::*                    LISTEN      15345\/java\ntcp6       0      0 :::9300                 :::*                    LISTEN      15345\/java\ntcp6       0      0 :::9301                 :::*                    LISTEN      20805\/java\ntcp6       0      0 :::22                   :::*                    LISTEN      1457\/sshd\ntcp6       0      0 ::1:631                 :::*                    LISTEN      3213\/cupsd\ntcp6       0      0 ::1:25                  :::*                    LISTEN      2656\/master\ntcp6       0      0 ::1:6010                :::*                    LISTEN      14407\/sshd: root@pt\ntcp6       0      0 ::1:6012                :::*                    LISTEN      17715\/sshd: root@pt\n[root@localhost conf.d]# cd \/var\/log\/logstash\/\n[root@localhost logstash]# ls    <strong>\uff08\u65e5\u5fd7\u6587\u4ef6\uff09<\/strong>\nlogstash.err  logstash.log  logstash.stdout\n[root@localhost logstash]# firewall-cmd --permanent --add-port=5000\/tcp    \uff08\u9632\u706b\u5899\u5f00\u653e5000\u7aef\u53e3\uff09\nsuccess\n[root@localhost logstash]# firewall-cmd --reload    <strong>\uff08\u91cd\u8f7d\u9632\u706b\u5899\uff09\n<\/strong>success\n[root@localhost logstash]# firewall-cmd --list-all   <strong>\uff08\u67e5\u770b\u7aef\u53e3\u5f00\u653e\u60c5\u51b5\uff09\n<\/strong>public (default, active)\n  interfaces: ens33\n  sources:\n  services: dhcpv6-client ssh\n  ports: 9200\/tcp 9300\/tcp 5000\/tcp 5601\/tcp\n  masquerade: no\n  forward-ports: port=80:proto=tcp:toport=5601:toaddr=\n  icmp-blocks:\n  rich rules:<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"https:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>4\u3001Client\u7aef\u5b89\u88c5<\/p>\n<div class=\"cnblogs_code\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"https:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<pre>[root@localhost elk]# vi \/etc\/hosts    <strong>\uff08\u7f16\u8f91hosts\u6587\u4ef6\uff09\n\n\n<\/strong>127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4\n::1         localhost localhost.localdomain localhost6 localhost6.localdomain6\n192.168.7.27 elk.server.com\n\n[root@localhost elk]# service network restart\nRestarting network (via systemctl):                        [  OK  ]\n[root@localhost elk]# ping elk.server.com    <strong>\uff08\u6d4b\u8bd5\u8fde\u63a5\uff09<\/strong>\nPING elk.server.com (192.168.7.27) 56(84) bytes of data.\n64 bytes from elk.server.com (192.168.7.27): icmp_seq=1 ttl=63 time=0.754 ms\n64 bytes from elk.server.com (192.168.7.27): icmp_seq=2 ttl=63 time=0.477 ms\n^C\n--- elk.server.com ping statistics ---\n2 packets transmitted, 2 received, 0% packet loss, time 1000ms\nrtt min\/avg\/max\/mdev = 0.477\/0.615\/0.754\/0.140 ms\n[root@localhost laizy]# mkdir elk\n[root@localhost laizy]# cd elk\/\n[root@localhost elk]# ls\n[root@localhost elk]# scp root@192.168.7.27:\/home\/elk\/logstash-forwarder-0.4.0-1.x86_64.rpm .     <strong>\uff08\u62f7\u8d1dlogstash-<\/strong><strong>forwarder\u5230\u672c\u5730\uff09\n<\/strong>The authenticity of host '192.168.7.27 (192.168.7.27)' can't be established.\nECDSA key fingerprint is 49:b9:53:89:55:f2:93:87:9b:81:bb:23:a5:24:f1:f9.\nAre you sure you want to continue connecting (yes\/no)? yes\nWarning: Permanently added '192.168.7.27' (ECDSA) to the list of known hosts.\nroot@192.168.7.27's password:\nlogstash-forwarder-0.4.0-1.x86_64.rpm                                                                                                                        100% 1692KB   1.7MB\/s   00:00\n[root@localhost elk]# ls\nlogstash-forwarder-0.4.0-1.x86_64.rpm\n[root@localhost elk]# scp root@192.168.7.27:\/etc\/pki\/tls\/certs\/logstash-forwarder.crt .          <strong>\uff08\u62f7\u8d1dServer\u7aef\u7684key\u5230\u672c\u5730\uff09\n<\/strong>root@192.168.7.27's password:\nlogstash-forwarder.crt                                                                                                                                       100% 1107     1.1KB\/s   00:00\n[root@localhost elk]# ll\ntotal 1700\n-rw-r--r--. 1 root root 1732758 Nov  8 17:36 logstash-forwarder-0.4.0-1.x86_64.rpm\n-rw-r--r--. 1 root root    1107 Nov  8 17:37 logstash-forwarder.crt\n[root@localhost elk]# cp logstash-forwarder.crt \/etc\/pki\/tls\/certs\/     <strong>\uff08\u5c06key\u62f7\u8d1d\u5230\/etc\/pki\/tls\/certs\/<\/strong><strong>\u4e0b\uff09\n<\/strong>[root@localhost elk]# cd \/etc\/pki\/tls\/certs\/\n[root@localhost certs]# ls\nca-bundle.crt  ca-bundle.trust.crt  logstash-forwarder.crt  make-dummy-cert  Makefile  renew-dummy-cert\n[root@localhost certs]# cd \/home\/laizy\/elk\/\n[root@localhost elk]# ls\nlogstash-forwarder-0.4.0-1.x86_64.rpm  logstash-forwarder.crt\n[root@localhost elk]# yum localinstall logstash-forwarder-0.4.0-1.x86_64.rpm     <strong>\uff08yum\u672c\u5730\u5b89\u88c5logstash-<\/strong><strong>forwarder\uff09<\/strong>\nLoaded plugins: fastestmirror, langpacks\nExamining logstash-forwarder-0.4.0-1.x86_64.rpm: logstash-forwarder-0.4.0-1.x86_64\nMarking logstash-forwarder-0.4.0-1.x86_64.rpm to be installed\nResolving Dependencies\n--&gt; Running transaction check\n---&gt; Package logstash-forwarder.x86_64 0:0.4.0-1 will be installed\n--&gt; Finished Dependency Resolution\nbase\/7\/x86_64                                                                                      | 3.6 kB  00:00:00\nextras\/7\/x86_64                                                                                    | 3.4 kB  00:00:00\nupdates\/7\/x86_64                                                                                   | 3.4 kB  00:00:00\n\nDependencies Resolved\n\n===============================================================================================================================================================================================\n Package                                        Arch                               Version                                Repository                                                      Size\n===============================================================================================================================================================================================\nInstalling:\n logstash-forwarder                             x86_64                             0.4.0-1                                \/logstash-forwarder-0.4.0-1.x86_64                             5.7 M\n\nTransaction Summary\n===============================================================================================================================================================================================\nInstall  1 Package\n\nTotal size: 5.7 M\nInstalled size: 5.7 M\nIs this ok [y\/d\/N]: y\nDownloading packages:\nRunning transaction check\nRunning transaction test\nTransaction test succeeded\nRunning transaction\n  Installing : logstash-forwarder-0.4.0-1.x86_64                                                                                                                                           1\/1\nLogs for logstash-forwarder will be in \/var\/log\/logstash-forwarder\/\n  Verifying  : logstash-forwarder-0.4.0-1.x86_64                                                                                                                                           1\/1\n\nInstalled:\n  logstash-forwarder.x86_64 0:0.4.0-1\n\nComplete!\n[root@localhost elk]# systemctl enable logstash-forwarder     <strong>\uff08\u8bbe\u7f6e\u5f00\u673a\u81ea\u542f\u52a8\uff09\n<\/strong>logstash-forwarder.service is not a native service, redirecting to \/sbin\/chkconfig.\nExecuting \/sbin\/chkconfig logstash-forwarder on\nThe unit files have no [Install] section. They are not meant to be enabled\nusing systemctl.\nPossible reasons for having this kind of units are:\n1) A unit may be statically enabled by being symlinked from another unit's\n   .wants\/ or .requires\/ directory.\n2) A unit's purpose may be to act as a helper for some other unit which has\n   a requirement dependency on it.\n3) A unit may be started when needed via activation (socket, path, timer,\n   D-Bus, udev, scripted systemctl call, ...).\n[root@localhost elk]# systemctl start logstash-forwarder.service     <strong>\uff08\u5f00\u542f\u670d\u52a1\uff09<\/strong>\n[root@localhost elk]# cd \/var\/log\/logstash-forwarder\/<strong>    \uff08\u65e5\u5fd7\u76ee\u5f55\uff09<\/strong>\n[root@localhost logstash-forwarder]# ls\nlogstash-forwarder.err  logstash-forwarder.log\n[root@localhost elk]# vi \/etc\/logstash-forwarder.conf    <strong>\uff08\u7f16\u8f91\u914d\u7f6e\u6587\u4ef6\uff09\n<\/strong>\n{\n  \"network\": {\n    \"servers\": [ \"elk.server.com:5000\" ],\n\n    \"ssl ca\": \"\/etc\/pki\/tls\/certs\/logstash-forwarder.crt\",\n\n    \"timeout\": 15\n  },\n\n  \"files\": [\n    {\n      \"paths\": [\n        \"\/var\/log\/messages\",\n        \"\/var\/log\/secure\"\n      ],\n\n      \"fields\": { \"type\": \"syslog\" }\n    }\n  ]\n}\n\n\n[root@localhost elk]# systemctl restart logstash-forwarder.service     <strong>\uff08\u91cd\u542f\u670d\u52a1\uff09\n<\/strong>[root@localhost elk]# systemctl status logstash-forwarder.service      <strong>\uff08\u67e5\u770b\u670d\u52a1\u8fd0\u884c\u72b6\u6001\uff09\n<\/strong>logstash-forwarder.service - LSB: no description given\n   Loaded: loaded (\/etc\/rc.d\/init.d\/logstash-forwarder)\n   Active: active (running) since Sun 2015-11-08 18:30:51 CST; 18s ago\n  Process: 10788 ExecStop=\/etc\/rc.d\/init.d\/logstash-forwarder stop (code=exited, status=0\/SUCCESS)\n  Process: 10794 ExecStart=\/etc\/rc.d\/init.d\/logstash-forwarder start (code=exited, status=0\/SUCCESS)\n   CGroup: \/system.slice\/logstash-forwarder.service\n           ?..10798 \/opt\/logstash-forwarder\/bin\/logstash-forwarder -config \/etc\/logstash-forwarder.conf\n\nNov 08 18:30:51 localhost.localdomain systemd[1]: Starting LSB: no description given...\nNov 08 18:30:51 localhost.localdomain \/etc\/init.d\/logstash-forwarder[10799]: logstash-forwarder started\nNov 08 18:30:51 localhost.localdomain logstash-forwarder[10794]: logstash-forwarder started\nNov 08 18:30:51 localhost.localdomain systemd[1]: Started LSB: no description given.<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a title=\"\u590d\u5236\u4ee3\u7801\"><img decoding=\"async\" src=\"https:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\" \/><\/a><\/span><\/div>\n<\/div>\n<p>5\u3001\u754c\u9762\u9a8c\u8bc1<\/p>\n<p>\u9996\u5148\u5728client\u4e2d\u624b\u52a8\u589e\u52a0\u4e00\u6761\u65e5\u5fd7\uff1a<\/p>\n<div class=\"cnblogs_code\">\n<pre>[root@localhost elk]# logger zhenyuLogtest<\/pre>\n<\/div>\n<p>\u754c\u9762\u767b\u5f55 http:\/\/192.168.7.27\/\u00a0\uff0c\u505a\u5982\u4e0b\u64cd\u4f5c<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/images2015.cnblogs.com\/blog\/704717\/201511\/704717-20151108211218321-1092659534.png\" alt=\"\" width=\"1068\" height=\"449\" \/><\/p>\n<p>\u4ece\u56fe\u4e2d\u53ef\u4ee5\u770b\u5230\uff0c\u624b\u52a8\u6dfb\u52a0\u7684\u65e5\u5fd7\u5df2\u7ecf\u5728\u754c\u9762\u4e2d\u88ab\u641c\u7d22\u5230\u4e86\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u672c\u6587\u4e3b\u8981\u53c2\u8003\u4e86\u56fd\u5916\u4e00\u4e2a\u642d\u5efaELK\u7684\u89c6\u9891\uff0c\u64cd\u4f5c\u7684\u5f88\u8be6\u7ec6\uff0c\u9644\u4e0a\u89c6\u9891\u7684\u4e0b\u8f7d\u94fe\u63a5\uff0c\u4ec5\u4f9b\u53c2\u8003\u3002<\/p>\n<p>\u94fe\u63a5\uff1ahttp:\/\/pan.baidu.com\/s\/1jGuBWCQ \u5bc6\u7801\uff1ah0pq<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u65e5\u5fd7\u76d1\u63a7\u548c\u5206\u6790\u5728\u4fdd\u969c\u4e1a\u52a1\u7a33\u5b9a\u8fd0\u884c\u65f6\uff0c\u8d77\u5230\u4e86\u5f88\u91cd\u8981\u7684\u4f5c\u7528\uff0c\u4e0d\u8fc7\u4e00\u822c\u60c5\u51b5\u4e0b\u65e5\u5fd7\u90fd\u5206\u6563\u5728\u5404\u4e2a\u751f\u4ea7\u670d\u52a1\u5668\uff0c\u4e14\u5f00\u53d1\u4eba\u5458\u65e0\u6cd5\u767b\u9646\u751f\u4ea7\u670d\u52a1\u5668\uff0c\u8fd9\u65f6\u5019\u5c31\u9700\u8981\u4e00\u4e2a\u96c6\u4e2d\u5f0f\u7684\u65e5\u5fd7\u6536\u96c6\u88c5\u7f6e\uff0c\u5bf9\u65e5\u5fd7\u4e2d\u7684\u5173\u952e\u5b57\u8fdb\u884c\u76d1\u63a7\uff0c\u89e6\u53d1\u5f02\u5e38\u65f6\u8fdb\u884c\u62a5\u8b66\uff0c\u5e76\u4e14\u5f00\u53d1\u4eba\u5458\u80fd\u591f\u67e5\u770b\u76f8\u5173\u65e5\u5fd7\u3002logstash+elasticsearch+kibana3\u5c31\u662f\u5b9e\u73b0\u8fd9\u6837\u529f\u80fd\u7684\u4e00\u5957\u7cfb\u7edf\uff0c\u5e76\u4e14\u529f\u80fd\u66f4\u5f3a\u5927\u3002 Logstash\uff1a\u8d1f\u8d23\u65e5\u5fd7\u7684\u6536\u96c6\uff0c\u5904\u7406\u548c\u50a8\u5b58 Elasticsearch\uff1a\u8d1f\u8d23\u65e5\u5fd7\u68c0\u7d22\u548c\u5206\u6790 Kibana\uff1a\u8d1f\u8d23\u65e5\u5fd7\u7684\u53ef\u89c6\u5316 1\u3001\u73af\u5883\u4ecb\u7ecd elkServer IP:192.168.7.27 OS\uff1aCentos7.1 FQDN:elk.server.com elkClient IP:192.168.31.23 OS\uff1aCentos7.1 2\u3001\u4e0b\u8f7d\u51c6\u5907 \u5b98\u7f51\u4e0b\u8f7d\u6700\u65b0\u7684\u5b89\u88c5\u5305\uff1ahttps:\/\/www.elastic.co\/downloads\uff08\u76ee\u524d\u6709\u4e9b\u7248\u672c\u7684\u5305\u53ef\u80fd\u4e0b\u8f7d\u4e0d\u5230\u4e86\uff0c\u8bf7\u5230\u8be5\u5730\u5740\u4e0b\u8f7d\u2014\u2014\u94fe\u63a5\uff1ahttp:\/\/pan.baidu.com\/s\/1gfohO2Z \u5bc6\u7801\uff1a5s1f\uff09 elasticsearch-1.7.3.noarch.rpm \uff08server\u4e0a\u5b89\u88c5\uff09 kibana-4.1.2-linux-x64.tar.gz \uff08server\u4e0a\u5b89\u88c5\uff09 logstash-1.5.4-1.noarch.rpm [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-553","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts\/553","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=553"}],"version-history":[{"count":0,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts\/553\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=553"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=553"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=553"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}