ಕೊನೆಯಲ್ಲಿ
ಕೋರ್ಸ್ ELK ಸ್ಟಾಕ್ ಸ್ಥಾಪನೆಯನ್ನು ಒಳಗೊಂಡಿರುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಈ ವಿಷಯದ ಕುರಿತು ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಲೇಖನಗಳಿವೆ; ನಾವು ಕಾನ್ಫಿಗರೇಶನ್ ಘಟಕವನ್ನು ಪರಿಗಣಿಸುತ್ತೇವೆ.
ಲಾಗ್ಸ್ಟ್ಯಾಶ್ ಕಾನ್ಫಿಗರೇಶನ್ಗಾಗಿ ಕ್ರಿಯಾ ಯೋಜನೆಯನ್ನು ರೂಪಿಸೋಣ:
- ಸ್ಥಿತಿಸ್ಥಾಪಕ ಹುಡುಕಾಟವು ಲಾಗ್ಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ ಎಂದು ಪರಿಶೀಲಿಸುವುದು (ಪೋರ್ಟ್ನ ಕ್ರಿಯಾತ್ಮಕತೆ ಮತ್ತು ಮುಕ್ತತೆಯನ್ನು ಪರಿಶೀಲಿಸುವುದು).
- ನಾವು ಲಾಗ್ಸ್ಟ್ಯಾಶ್ಗೆ ಈವೆಂಟ್ಗಳನ್ನು ಹೇಗೆ ಕಳುಹಿಸಬಹುದು, ವಿಧಾನವನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು ಮತ್ತು ಅದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು ಎಂಬುದನ್ನು ನಾವು ಪರಿಗಣಿಸುತ್ತೇವೆ.
- ನಾವು ಲಾಗ್ಸ್ಟ್ಯಾಶ್ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ನಲ್ಲಿ ಇನ್ಪುಟ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ.
- ಲಾಗ್ ಸಂದೇಶವು ಹೇಗೆ ಕಾಣುತ್ತದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ನಾವು ಡೀಬಗ್ ಮೋಡ್ನಲ್ಲಿ ಲಾಗ್ಸ್ಟ್ಯಾಶ್ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ನಲ್ಲಿ ಔಟ್ಪುಟ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ.
- ಫಿಲ್ಟರ್ ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ.
- ElasticSearch ನಲ್ಲಿ ಸರಿಯಾದ ಔಟ್ಪುಟ್ ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ.
- ಲಾಗ್ಸ್ಟಾಶ್ ಪ್ರಾರಂಭಿಸುತ್ತದೆ.
- ಕಿಬಾನಾದಲ್ಲಿ ಲಾಗ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ.
ಪ್ರತಿಯೊಂದು ಹಂತವನ್ನು ಹೆಚ್ಚು ವಿವರವಾಗಿ ನೋಡೋಣ:
ಸ್ಥಿತಿಸ್ಥಾಪಕ ಹುಡುಕಾಟವನ್ನು ಪರಿಶೀಲಿಸುವುದು ಲಾಗ್ಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ
ಇದನ್ನು ಮಾಡಲು, ಲಾಗ್ಸ್ಟ್ಯಾಶ್ ಅನ್ನು ನಿಯೋಜಿಸಲಾದ ಸಿಸ್ಟಮ್ನಿಂದ ಸ್ಥಿತಿಸ್ಥಾಪಕ ಹುಡುಕಾಟಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಪರಿಶೀಲಿಸಲು ನೀವು ಕರ್ಲ್ ಆಜ್ಞೆಯನ್ನು ಬಳಸಬಹುದು. ನೀವು ದೃಢೀಕರಣವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ್ದರೆ, ನಾವು ಬಳಕೆದಾರ/ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಕರ್ಲ್ ಮೂಲಕ ವರ್ಗಾಯಿಸುತ್ತೇವೆ, ನೀವು ಅದನ್ನು ಬದಲಾಯಿಸದಿದ್ದರೆ ಪೋರ್ಟ್ 9200 ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತೇವೆ. ಕೆಳಗಿನ ಪ್ರತಿಕ್ರಿಯೆಯಂತೆಯೇ ನೀವು ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಸ್ವೀಕರಿಸಿದರೆ, ಎಲ್ಲವೂ ಕ್ರಮದಲ್ಲಿದೆ.
[elastic@elasticsearch ~]$ curl -u <<user_name>> : <<password>> -sS -XGET "<<ip_address_elasticsearch>>:9200"
{
"name" : "elastic-1",
"cluster_name" : "project",
"cluster_uuid" : "sQzjTTuCR8q4ZO6DrEis0A",
"version" : {
"number" : "7.4.1",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "fc0eeb6e2c25915d63d871d344e3d0b45ea0ea1e",
"build_date" : "2019-10-22T17:16:35.176724Z",
"build_snapshot" : false,
"lucene_version" : "8.2.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
[elastic@elasticsearch ~]$
ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಸ್ವೀಕರಿಸದಿದ್ದರೆ, ಹಲವಾರು ರೀತಿಯ ದೋಷಗಳು ಇರಬಹುದು: ಸ್ಥಿತಿಸ್ಥಾಪಕ ಹುಡುಕಾಟ ಪ್ರಕ್ರಿಯೆಯು ಚಾಲನೆಯಲ್ಲಿಲ್ಲ, ತಪ್ಪಾದ ಪೋರ್ಟ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ ಅಥವಾ ಎಲಾಸ್ಟಿಕ್ ಸರ್ಚ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿದ ಸರ್ವರ್ನಲ್ಲಿ ಫೈರ್ವಾಲ್ನಿಂದ ಪೋರ್ಟ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ.
ಚೆಕ್ ಪಾಯಿಂಟ್ ಫೈರ್ವಾಲ್ನಿಂದ ನೀವು ಲಾಗ್ಸ್ಟಾಶ್ಗೆ ಲಾಗ್ಗಳನ್ನು ಹೇಗೆ ಕಳುಹಿಸಬಹುದು ಎಂಬುದನ್ನು ನೋಡೋಣ
ಚೆಕ್ ಪಾಯಿಂಟ್ ಮ್ಯಾನೇಜ್ಮೆಂಟ್ ಸರ್ವರ್ನಿಂದ ನೀವು log_exporter ಸೌಲಭ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು syslog ಮೂಲಕ ಲಾಗ್ಸ್ಟಾಶ್ಗೆ ಲಾಗ್ಗಳನ್ನು ಕಳುಹಿಸಬಹುದು, ನೀವು ಅದರ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ಓದಬಹುದು ಇಲ್ಲಿ
cp_log_export ಹೆಸರನ್ನು ಸೇರಿಸಿ check_point_syslog ಗುರಿ-ಸರ್ವರ್ < > ಗುರಿ-ಪೋರ್ಟ್ 5555 ಪ್ರೋಟೋಕಾಲ್ tcp ಫಾರ್ಮ್ಯಾಟ್ ಜೆನೆರಿಕ್ ರೀಡ್-ಮೋಡ್ ಅರೆ-ಏಕೀಕೃತ
< > - ಲಾಗ್ಸ್ಟಾಶ್ ಚಾಲನೆಯಲ್ಲಿರುವ ಸರ್ವರ್ನ ವಿಳಾಸ, ಟಾರ್ಗೆಟ್-ಪೋರ್ಟ್ 5555 - ನಾವು ಲಾಗ್ಗಳನ್ನು ಕಳುಹಿಸುವ ಪೋರ್ಟ್, ಟಿಸಿಪಿ ಮೂಲಕ ಲಾಗ್ಗಳನ್ನು ಕಳುಹಿಸುವುದರಿಂದ ಸರ್ವರ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಬಹುದು, ಆದ್ದರಿಂದ ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಯುಡಿಪಿ ಅನ್ನು ಬಳಸುವುದು ಹೆಚ್ಚು ಸರಿಯಾಗಿದೆ.
ಲಾಗ್ಸ್ಟ್ಯಾಶ್ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ನಲ್ಲಿ INPUT ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ
ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ /etc/logstash/conf.d/ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿದೆ. ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ 3 ಅರ್ಥಪೂರ್ಣ ಭಾಗಗಳನ್ನು ಒಳಗೊಂಡಿದೆ: INPUT, FILTER, OUTPUT. IN ಇನ್ಪುಟ್ ಸಿಸ್ಟಮ್ ಎಲ್ಲಿಂದ ಲಾಗ್ಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಎಂಬುದನ್ನು ನಾವು ಸೂಚಿಸುತ್ತೇವೆ ಫಿಲ್ಟರ್ ಲಾಗ್ ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಿ - ಸಂದೇಶವನ್ನು ಕ್ಷೇತ್ರಗಳು ಮತ್ತು ಮೌಲ್ಯಗಳಾಗಿ ವಿಭಜಿಸುವುದು ಹೇಗೆ ಎಂಬುದನ್ನು ಹೊಂದಿಸಿ ಔಟ್ಪುಟ್ ನಾವು ಔಟ್ಪುಟ್ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ - ಅಲ್ಲಿ ಪಾರ್ಸ್ ಮಾಡಿದ ಲಾಗ್ಗಳನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತದೆ.
ಮೊದಲಿಗೆ, ನಾವು INPUT ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡೋಣ, ಕೆಲವು ಪ್ರಕಾರಗಳನ್ನು ಪರಿಗಣಿಸಿ - ಫೈಲ್, tcp ಮತ್ತು exe.
ಟಿಸಿಪಿ:
input {
tcp {
port => 5555
host => “10.10.1.205”
type => "checkpoint"
mode => "server"
}
}
ಮೋಡ್ => "ಸರ್ವರ್"
Logstash ಸಂಪರ್ಕಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತಿದೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆ.
ಪೋರ್ಟ್ => 5555
ಹೋಸ್ಟ್ => “10.10.1.205”
ನಾವು IP ವಿಳಾಸ 10.10.1.205 (Logstash), ಪೋರ್ಟ್ 5555 ಮೂಲಕ ಸಂಪರ್ಕಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತೇವೆ - ಪೋರ್ಟ್ ಅನ್ನು ಫೈರ್ವಾಲ್ ನೀತಿಯಿಂದ ಅನುಮತಿಸಬೇಕು.
ಟೈಪ್ => "ಚೆಕ್ಪಾಯಿಂಟ್"
ನಾವು ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ಗುರುತಿಸುತ್ತೇವೆ, ನೀವು ಹಲವಾರು ಒಳಬರುವ ಸಂಪರ್ಕಗಳನ್ನು ಹೊಂದಿದ್ದರೆ ತುಂಬಾ ಅನುಕೂಲಕರವಾಗಿದೆ. ತರುವಾಯ, ಪ್ರತಿ ಸಂಪರ್ಕಕ್ಕಾಗಿ ನೀವು ಲಾಜಿಕಲ್ ಇಫ್ ಕನ್ಸ್ಟ್ರಕ್ಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ನಿಮ್ಮ ಸ್ವಂತ ಫಿಲ್ಟರ್ ಅನ್ನು ಬರೆಯಬಹುದು.
ಫೈಲ್:
input {
file {
path => "/var/log/openvas_report/*"
type => "openvas"
start_position => "beginning"
}
}
ಸೆಟ್ಟಿಂಗ್ಗಳ ವಿವರಣೆ:
ಮಾರ್ಗ => "/var/log/openvas_report/*"
ಫೈಲ್ಗಳನ್ನು ಓದಬೇಕಾದ ಡೈರೆಕ್ಟರಿಯನ್ನು ನಾವು ಸೂಚಿಸುತ್ತೇವೆ.
ಟೈಪ್ => "ಓಪನ್ವಾಸ್"
ಈವೆಂಟ್ ಪ್ರಕಾರ.
start_position => "ಆರಂಭ"
ಫೈಲ್ ಅನ್ನು ಬದಲಾಯಿಸುವಾಗ, ಅದು ಸಂಪೂರ್ಣ ಫೈಲ್ ಅನ್ನು ಓದುತ್ತದೆ; ನೀವು "ಅಂತ್ಯ" ಹೊಂದಿಸಿದರೆ, ಫೈಲ್ನ ಕೊನೆಯಲ್ಲಿ ಹೊಸ ದಾಖಲೆಗಳು ಕಾಣಿಸಿಕೊಳ್ಳಲು ಸಿಸ್ಟಮ್ ಕಾಯುತ್ತದೆ.
ಕಾರ್ಯನಿರ್ವಾಹಕ:
input {
exec {
command => "ls -alh"
interval => 30
}
}
ಈ ಇನ್ಪುಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು, (ಮಾತ್ರ!) ಶೆಲ್ ಆಜ್ಞೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಅದರ ಔಟ್ಪುಟ್ ಅನ್ನು ಲಾಗ್ ಸಂದೇಶವಾಗಿ ಪರಿವರ್ತಿಸಲಾಗುತ್ತದೆ.
ಆಜ್ಞೆ => "ls -alh"
ನಾವು ಆಸಕ್ತಿ ಹೊಂದಿರುವ ಆದೇಶದ ಔಟ್ಪುಟ್.
ಮಧ್ಯಂತರ => 30
ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಕಮಾಂಡ್ ಆಹ್ವಾನ ಮಧ್ಯಂತರ.
ಫೈರ್ವಾಲ್ನಿಂದ ಲಾಗ್ಗಳನ್ನು ಸ್ವೀಕರಿಸಲು, ನಾವು ಫಿಲ್ಟರ್ ಅನ್ನು ನೋಂದಾಯಿಸುತ್ತೇವೆ tcp ಅಥವಾ ಪುಡ್, ಲಾಗ್ಸ್ಟ್ಯಾಶ್ಗೆ ಲಾಗ್ಗಳನ್ನು ಹೇಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ ಎಂಬುದರ ಆಧಾರದ ಮೇಲೆ.
ಲಾಗ್ ಸಂದೇಶವು ಹೇಗೆ ಕಾಣುತ್ತದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ನಾವು ಡೀಬಗ್ ಮೋಡ್ನಲ್ಲಿ ಲಾಗ್ಸ್ಟ್ಯಾಶ್ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ನಲ್ಲಿ ಔಟ್ಪುಟ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ
ನಾವು INPUT ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ ನಂತರ, ಲಾಗ್ ಸಂದೇಶವು ಹೇಗೆ ಕಾಣುತ್ತದೆ ಮತ್ತು ಲಾಗ್ ಫಿಲ್ಟರ್ (ಪಾರ್ಸರ್) ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಯಾವ ವಿಧಾನಗಳನ್ನು ಬಳಸಬೇಕು ಎಂಬುದನ್ನು ನಾವು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕು.
ಇದನ್ನು ಮಾಡಲು, ಮೂಲ ಸಂದೇಶವನ್ನು ವೀಕ್ಷಿಸಲು ಫಲಿತಾಂಶವನ್ನು stdout ಗೆ ಔಟ್ಪುಟ್ ಮಾಡುವ ಫಿಲ್ಟರ್ ಅನ್ನು ನಾವು ಬಳಸುತ್ತೇವೆ; ಈ ಸಮಯದಲ್ಲಿ ಸಂಪೂರ್ಣ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:
input
{
tcp
{
port => 5555
type => "checkpoint"
mode => "server"
host => “10.10.1.205”
}
}
output
{
if [type] == "checkpoint"
{
stdout { codec=> json }
}
}
ಪರಿಶೀಲಿಸಲು ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿ:
sudo /usr/share/logstash/bin//logstash -f /etc/logstash/conf.d/checkpoint.conf
ನಾವು ಫಲಿತಾಂಶವನ್ನು ನೋಡುತ್ತೇವೆ, ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಬಹುದಾಗಿದೆ:
ನೀವು ಅದನ್ನು ನಕಲಿಸಿದರೆ ಅದು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:
action="Accept" conn_direction="Internal" contextnum="1" ifdir="outbound" ifname="bond1.101" logid="0" loguid="{0x5dfb8c13,0x5,0xfe0a0a0a,0xc0000000}" origin="10.10.10.254" originsicname="CN=ts-spb-cpgw-01,O=cp-spb-mgmt-01.tssolution.local.kncafb" sequencenum="8" time="1576766483" version="5" context_num="1" dst="10.10.10.10" dst_machine_name="[email protected]" layer_name="TSS-Standard Security" layer_name="TSS-Standard Application" layer_uuid="dae7f01c-4c98-4c3a-a643-bfbb8fcf40f0" layer_uuid="dbee3718-cf2f-4de0-8681-529cb75be9a6" match_id="8" match_id="33554431" parent_rule="0" parent_rule="0" rule_action="Accept" rule_action="Accept" rule_name="Implicit Cleanup" rule_uid="6dc2396f-9644-4546-8f32-95d98a3344e6" product="VPN-1 & FireWall-1" proto="17" s_port="37317" service="53" service_id="domain-udp" src="10.10.1.180" ","type":"qqqqq","host":"10.10.10.250","@version":"1","port":50620}{"@timestamp":"2019-12-19T14:50:12.153Z","message":"time="1576766483" action="Accept" conn_direction="Internal" contextnum="1" ifdir="outbound" ifname="bond1.101" logid="0" loguid="{0x5dfb8c13,
ಈ ಸಂದೇಶಗಳನ್ನು ನೋಡುವಾಗ, ಲಾಗ್ಗಳು ಈ ರೀತಿ ಕಾಣುತ್ತವೆ ಎಂದು ನಾವು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತೇವೆ: ಕ್ಷೇತ್ರ = ಮೌಲ್ಯ ಅಥವಾ ಕೀ = ಮೌಲ್ಯ, ಅಂದರೆ kv ಎಂಬ ಫಿಲ್ಟರ್ ಸೂಕ್ತವಾಗಿದೆ. ಪ್ರತಿ ನಿರ್ದಿಷ್ಟ ಪ್ರಕರಣಕ್ಕೆ ಸರಿಯಾದ ಫಿಲ್ಟರ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲು, ತಾಂತ್ರಿಕ ದಾಖಲಾತಿಯಲ್ಲಿ ಅವರೊಂದಿಗೆ ನೀವೇ ಪರಿಚಿತರಾಗಿರುವುದು ಅಥವಾ ಸ್ನೇಹಿತರನ್ನು ಕೇಳುವುದು ಒಳ್ಳೆಯದು.
ಫಿಲ್ಟರ್ ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ
ಕೊನೆಯ ಹಂತದಲ್ಲಿ ನಾವು kv ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿದ್ದೇವೆ, ಈ ಫಿಲ್ಟರ್ನ ಸಂರಚನೆಯನ್ನು ಕೆಳಗೆ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ:
filter {
if [type] == "checkpoint"{
kv {
value_split => "="
allow_duplicate_values => false
}
}
}
ನಾವು ಕ್ಷೇತ್ರ ಮತ್ತು ಮೌಲ್ಯವನ್ನು ವಿಭಜಿಸುವ ಚಿಹ್ನೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತೇವೆ - “=”. ನಾವು ಲಾಗ್ನಲ್ಲಿ ಒಂದೇ ರೀತಿಯ ನಮೂದುಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ನಾವು ಡೇಟಾಬೇಸ್ನಲ್ಲಿ ಕೇವಲ ಒಂದು ನಿದರ್ಶನವನ್ನು ಮಾತ್ರ ಉಳಿಸುತ್ತೇವೆ, ಇಲ್ಲದಿದ್ದರೆ ನೀವು ಒಂದೇ ರೀತಿಯ ಮೌಲ್ಯಗಳ ಶ್ರೇಣಿಯೊಂದಿಗೆ ಕೊನೆಗೊಳ್ಳುವಿರಿ, ಅಂದರೆ, ನಾವು “foo = some foo=some” ಸಂದೇಶವನ್ನು ಹೊಂದಿದ್ದರೆ ನಾವು foo ಅನ್ನು ಮಾತ್ರ ಬರೆಯುತ್ತೇವೆ. = ಕೆಲವು.
ElasticSearch ನಲ್ಲಿ ಸರಿಯಾದ ಔಟ್ಪುಟ್ ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ
ಒಮ್ಮೆ ಫಿಲ್ಟರ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ ನಂತರ, ನೀವು ಡೇಟಾಬೇಸ್ಗೆ ಲಾಗ್ಗಳನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಬಹುದು ಸ್ಥಿತಿಸ್ಥಾಪಕ ಹುಡುಕಾಟ:
output
{
if [type] == "checkpoint"
{
elasticsearch
{
hosts => ["10.10.1.200:9200"]
index => "checkpoint-%{+YYYY.MM.dd}"
user => "tssolution"
password => "cool"
}
}
}
ಡಾಕ್ಯುಮೆಂಟ್ ಚೆಕ್ಪಾಯಿಂಟ್ ಪ್ರಕಾರದೊಂದಿಗೆ ಸಹಿ ಮಾಡಿದ್ದರೆ, ನಾವು ಈವೆಂಟ್ ಅನ್ನು ಸ್ಥಿತಿಸ್ಥಾಪಕ ಹುಡುಕಾಟ ಡೇಟಾಬೇಸ್ಗೆ ಉಳಿಸುತ್ತೇವೆ, ಇದು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಪೋರ್ಟ್ 10.10.1.200 ನಲ್ಲಿ 9200 ನಲ್ಲಿ ಸಂಪರ್ಕಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ. ಪ್ರತಿಯೊಂದು ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟ ಸೂಚ್ಯಂಕಕ್ಕೆ ಉಳಿಸಲಾಗಿದೆ, ಈ ಸಂದರ್ಭದಲ್ಲಿ ನಾವು ಸೂಚ್ಯಂಕ "ಚೆಕ್ಪಾಯಿಂಟ್-" + ಪ್ರಸ್ತುತ ಸಮಯದ ದಿನಾಂಕಕ್ಕೆ ಉಳಿಸುತ್ತೇವೆ. ಪ್ರತಿಯೊಂದು ಸೂಚ್ಯಂಕವು ನಿರ್ದಿಷ್ಟ ಕ್ಷೇತ್ರಗಳನ್ನು ಹೊಂದಬಹುದು ಅಥವಾ ಸಂದೇಶದಲ್ಲಿ ಹೊಸ ಕ್ಷೇತ್ರವು ಕಾಣಿಸಿಕೊಂಡಾಗ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರಚಿಸಲಾಗುತ್ತದೆ; ಕ್ಷೇತ್ರ ಸೆಟ್ಟಿಂಗ್ಗಳು ಮತ್ತು ಅವುಗಳ ಪ್ರಕಾರವನ್ನು ಮ್ಯಾಪಿಂಗ್ಗಳಲ್ಲಿ ವೀಕ್ಷಿಸಬಹುದು.
ನೀವು ದೃಢೀಕರಣವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ್ದರೆ (ನಾವು ಅದನ್ನು ನಂತರ ನೋಡುತ್ತೇವೆ), ನಿರ್ದಿಷ್ಟ ಸೂಚ್ಯಂಕಕ್ಕೆ ಬರೆಯಲು ರುಜುವಾತುಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು, ಈ ಉದಾಹರಣೆಯಲ್ಲಿ ಇದು "ತಂಪಾದ" ಪಾಸ್ವರ್ಡ್ನೊಂದಿಗೆ "tssolution" ಆಗಿದೆ. ನಿರ್ದಿಷ್ಟ ಸೂಚ್ಯಂಕಕ್ಕೆ ಮಾತ್ರ ಲಾಗ್ಗಳನ್ನು ಬರೆಯಲು ಬಳಕೆದಾರರ ಹಕ್ಕುಗಳನ್ನು ನೀವು ಪ್ರತ್ಯೇಕಿಸಬಹುದು ಮತ್ತು ಇನ್ನು ಮುಂದೆ ಇಲ್ಲ.
ಲಾಗ್ಸ್ಟಾಶ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ.
ಲಾಗ್ಸ್ಟ್ಯಾಶ್ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್:
input
{
tcp
{
port => 5555
type => "checkpoint"
mode => "server"
host => “10.10.1.205”
}
}
filter {
if [type] == "checkpoint"{
kv {
value_split => "="
allow_duplicate_values => false
}
}
}
output
{
if [type] == "checkpoint"
{
elasticsearch
{
hosts => ["10.10.1.200:9200"]
index => "checkpoint-%{+YYYY.MM.dd}"
user => "tssolution"
password => "cool"
}
}
}
ನಾವು ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಅನ್ನು ಸರಿಯಾಗಿ ಪರಿಶೀಲಿಸುತ್ತೇವೆ:
/usr/share/logstash/bin//logstash -f checkpoint.conf
ಲಾಗ್ಸ್ಟ್ಯಾಶ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿ:
sudo systemctl ಪ್ರಾರಂಭ ಲಾಗ್ಸ್ಟ್ಯಾಶ್
ಪ್ರಕ್ರಿಯೆಯು ಪ್ರಾರಂಭವಾಗಿದೆಯೇ ಎಂದು ನಾವು ಪರಿಶೀಲಿಸುತ್ತೇವೆ:
sudo systemctl ಸ್ಥಿತಿ logstash
ಸಾಕೆಟ್ ಮೇಲಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸೋಣ:
netstat -nat |grep 5555
ಕಿಬಾನಾದಲ್ಲಿ ಲಾಗ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ.
ಎಲ್ಲವೂ ಚಾಲನೆಯಲ್ಲಿರುವ ನಂತರ, ಕಿಬಾನಾಗೆ ಹೋಗಿ - ಡಿಸ್ಕವರ್, ಎಲ್ಲವನ್ನೂ ಸರಿಯಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ, ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಬಹುದಾಗಿದೆ!
ಎಲ್ಲಾ ಲಾಗ್ಗಳು ಸ್ಥಳದಲ್ಲಿವೆ ಮತ್ತು ನಾವು ಎಲ್ಲಾ ಕ್ಷೇತ್ರಗಳು ಮತ್ತು ಅವುಗಳ ಮೌಲ್ಯಗಳನ್ನು ನೋಡಬಹುದು!
ತೀರ್ಮಾನಕ್ಕೆ
ಲಾಗ್ಸ್ಟ್ಯಾಶ್ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಅನ್ನು ಹೇಗೆ ಬರೆಯುವುದು ಎಂದು ನಾವು ನೋಡಿದ್ದೇವೆ ಮತ್ತು ಇದರ ಪರಿಣಾಮವಾಗಿ ನಾವು ಎಲ್ಲಾ ಕ್ಷೇತ್ರಗಳು ಮತ್ತು ಮೌಲ್ಯಗಳ ಪಾರ್ಸರ್ ಅನ್ನು ಪಡೆದುಕೊಂಡಿದ್ದೇವೆ. ಈಗ ನಾವು ನಿರ್ದಿಷ್ಟ ಕ್ಷೇತ್ರಗಳನ್ನು ಹುಡುಕುವ ಮತ್ತು ಯೋಜಿಸುವುದರೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಬಹುದು. ಮುಂದಿನ ಕೋರ್ಸ್ನಲ್ಲಿ ನಾವು ಕಿಬಾನಾದಲ್ಲಿ ದೃಶ್ಯೀಕರಣವನ್ನು ನೋಡುತ್ತೇವೆ ಮತ್ತು ಸರಳ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ. ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಲಾಗ್ಸ್ಟ್ಯಾಶ್ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಅನ್ನು ನಿರಂತರವಾಗಿ ನವೀಕರಿಸಬೇಕಾಗಿದೆ ಎಂದು ನಮೂದಿಸುವುದು ಯೋಗ್ಯವಾಗಿದೆ, ಉದಾಹರಣೆಗೆ, ನಾವು ಕ್ಷೇತ್ರದ ಮೌಲ್ಯವನ್ನು ಸಂಖ್ಯೆಯಿಂದ ಪದಕ್ಕೆ ಬದಲಾಯಿಸಲು ಬಯಸಿದಾಗ. ನಂತರದ ಲೇಖನಗಳಲ್ಲಿ ನಾವು ಇದನ್ನು ನಿರಂತರವಾಗಿ ಮಾಡುತ್ತೇವೆ.
ಆದ್ದರಿಂದ ಟ್ಯೂನ್ ಆಗಿರಿ (
ಮೂಲ: www.habr.com