Cum se instalează Scala pe CentOS 7
Scala este un limbaj de programare orientat pe obiect și funcțional. Este un limbaj popular care a fost folosit pentru dezvoltarea aplicațiilor, precum Spark, Akka, an
Pe măsură ce infrastructura IT se îndreaptă spre cloud și Internet of Things devine popular, organizațiile și profesioniștii IT folosesc serviciile cloud publice în mai mare măsură. Pe măsură ce serverele și serviciile care rulează pe acestea cresc, cantitatea de jurnale generate de sistem cresc. Analiza acestor jurnale este foarte importantă într-o infrastructură din mai multe motive. Aceasta include respectarea politicilor și reglementărilor de securitate, depanarea sistemului, răspunsul la un incident legat de securitate sau înțelegerea comportamentului utilizatorului.
Trei aplicații open source foarte populare, denumite Elasticsearch, Logstash și Kibana se combină pentru a crea Elastic Stack sau ELK Stack. Elastic Stack este un instrument foarte puternic pentru căutarea, analiza și vizualizarea jurnalelor și a datelor. Elasticsearch este o aplicație distribuită, în timp real, scalabilă și extrem de disponibilă pentru a stoca jurnalele și a căuta prin ele. Logstash adună jurnalele trimise de Beats, îl îmbunătățește și apoi îl trimite la Elasticsearch. Kibana este UI-ul web utilizat pentru vizualizarea jurnalelor și a informațiilor care pot fi acționate.
În acest tutorial, vom instala cea mai recentă versiune de Elasticsearch, Logstash și Kibana cu X-Pack pe Ubuntu 17.04.
Pentru a urmări acest tutorial, veți avea nevoie de o instanță de server Vultr pe 64 de biți Ubuntu 17.04 cu cel puțin 4 GB RAM . Pentru un mediu de producție, cerințele hardware cresc odată cu numărul de utilizatori și jurnal.
Acest tutorial este scris din sudo
perspectiva utilizatorului. Pentru a configura un utilizator sudo, urmați Cum se utilizează Sudo în ghidul Debian .
De asemenea, veți avea nevoie de un domeniu îndreptat către serverul dvs. pentru a obține certificate de la Let's Encrypt CA.
Înainte de a instala pachetele pe instanța serverului Ubuntu, se recomandă actualizarea sistemului. Conectați-vă cu utilizatorul sudo și executați următoarele comenzi pentru a actualiza sistemul.
sudo apt update
sudo apt -y upgrade
După ce sistemul a terminat actualizarea, treceți la pasul următor.
Elasticsearch necesită Java 8 pentru a funcționa. Acceptă atât Oracle Java cât și OpenJDK. Această secțiune a tutorialului demonstrează instalarea atât a Oracle Java cât și a OpenJDK.
Asigurați-vă că instalați oricare dintre următoarele versiuni Java. Instalarea Oracle Java este recomandată pentru Elasticsearch. Cu toate acestea, puteți alege, de asemenea, să instalați OpenJDK în funcție de preferințe.
Pentru a instala Oracle Java pe sistemul Ubuntu, va trebui să adăugați Oracle Java PPA rulând:
sudo add-apt-repository ppa:webupd8team/java
Acum actualizați informațiile despre depozit rulând:
sudo apt update
Acum puteți instala cu ușurință cea mai recentă versiune stabilă de Java 8 rulând:
sudo apt -y install oracle-java8-installer
Acceptați acordul de licență atunci când vi se solicită. După terminarea instalării, puteți verifica versiunea Java rulând:
java -version
Ar trebui să vedeți o ieșire similară cu:
user@vultr:~$ java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
Puteți seta JAVA_HOME
și celelalte valori implicite instalând oracle-java8-set-default
. Alerga:
sudo apt -y install oracle-java8-set-default
Acum puteți verifica dacă JAVA_HOME
variabila este setată rulând:
echo "$JAVA_HOME"
Produsul ar trebui să semene cu:
user@vultr:~$ echo "$JAVA_HOME"
/usr/lib/jvm/java-8-oracle
Dacă nu primiți ieșirea arătată mai sus, poate fi necesar să vă deconectați și să vă autentificați din nou pe shell. Oracle Java este acum instalat pe serverul dvs. Acum puteți trece la Pasul 3 al instalării de ignorare a tutorialului OpenJDK.
Instalarea OpenJDK este destul de simplă. Pur și simplu executați următoarea comandă pentru a instala OpenJDK.
sudo apt -y install default-jdk
După terminarea instalării, puteți verifica versiunea Java rulând:
java -version
Ar trebui să vedeți o ieșire similară cu:
user@vultr:~$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.17.04.2-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
Pentru a seta JAVA_HOME
variabila, executați următoarea comandă:
sudo echo "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" >> /etc/environment
Reîncărcați fișierul de mediu rulând:
sudo source /etc/environment
Acum puteți verifica dacă JAVA_HOME
variabila este setată rulând:
echo "$JAVA_HOME"
Produsul ar trebui să semene cu:
user@vultr:~$ echo "$JAVA_HOME"
/usr/lib/jvm/java-8-openjdk-amd64/
Elasticsearch este un motor de căutare RESTful super-rapid, distribuit, extrem de disponibil. Adăugați depozitul APT Elasticsearch rulând:
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
Comanda de mai sus creează un nou fișier de depozitare pentru Elasticsearch și adaugă intrarea sursă în el. Acum importați cheia PGP folosită pentru semnarea pachetelor.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Actualizați metadatele depozitului APT rulând:
sudo apt update
Instalați Elasticsearch rulând următoarea comandă.
sudo apt -y install elasticsearch
Comanda de mai sus va instala cea mai recentă versiune a Elasticsearch pe sistemul dvs. După instalarea Elasticsearch, reîncărcați demonul de serviciu Systemd rulând:
sudo systemctl daemon-reload
Porniți Elasticsearch și permiteți-l să pornească automat la momentul de pornire.
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
Pentru a opri Elasticsearch, puteți rula:
sudo systemctl stop elasticsearch
Pentru a verifica starea serviciului puteți rula:
sudo systemctl status elasticsearch
Elasticsearch rulează acum pe port 9200
. Puteți verifica dacă funcționează și produce rezultate rulând următoarea comandă.
curl -XGET 'localhost:9200/?pretty'
Va fi tipărit un mesaj similar cu următorul.
user@vultr:~$ curl -XGET 'localhost:9200/?pretty'
{
"name" : "wDaVa1K",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "71drjJ8PTyCcbai33Esy3Q",
"version" : {
"number" : "5.5.1",
"build_hash" : "19c13d0",
"build_date" : "2017-07-18T20:44:24.823Z",
"build_snapshot" : false,
"lucene_version" : "6.6.0"
},
"tagline" : "You Know, for Search"
}
X-Pack este un plug-in Elastic Stack care oferă multe caracteristici de adăugare, precum securitate, alertare, monitorizare, raportare și capacități grafice. X-Pack oferă, de asemenea, autentificarea utilizatorului pentru Elasticsearch și Kibana, precum și monitorizarea diferitelor noduri din Kibana. Este important ca X-Pack și Elasticsearch să fie instalate cu aceeași versiune.
Puteți instala X-Pack pentru Elasticsearch direct rulând:
cd /usr/share/elasticsearch
sudo bin/elasticsearch-plugin install x-pack
Pentru a continua instalarea, introduceți y
atunci când vi se solicită. Această comandă va instala pluginul X-Pack în sistemul dvs. Când este instalat, X-Pack permite autentificarea pentru Elasticsearch. Numele de utilizator implicit este elastic
și parola este changeme
. Puteți verifica dacă autentificarea este activată rulând aceeași comandă pe care ați alergat-o pentru a verifica dacă Elasticsearch funcționează.
curl -XGET 'localhost:9200/?pretty'
Acum, ieșirea va spune că autentificarea a eșuat.
user@vultr:~# curl -XGET 'localhost:9200/?pretty'
{
"error" : {
"root_cause" : [
{
"type" : "security_exception",
"reason" : "missing authentication token for REST request [/?pretty]",
"header" : {
"WWW-Authenticate" : "Basic realm=\"security\" charset=\"UTF-8\""
}
}
],
"type" : "security_exception",
"reason" : "missing authentication token for REST request [/?pretty]",
"header" : {
"WWW-Authenticate" : "Basic realm=\"security\" charset=\"UTF-8\""
}
},
"status" : 401
}
Modificați parola implicită changeme
executând următoarea comandă.
curl -XPUT -u elastic:changeme 'localhost:9200/_xpack/security/user/elastic/_password?pretty' -H 'Content-Type: application/json' -d'
{
"password": "NewElasticPassword"
}
'
Înlocuiți NewPassword
cu parola pe care doriți să o utilizați. Puteți verifica dacă noua parolă este setată și Elasticsearch funcționează rulând următoarea comandă.
curl -XGET -u elastic:NewElasticPassword 'localhost:9200/?pretty'
Veți vedea ieșire care arată executarea cu succes a interogării.
Mai departe, editați fișierul de configurare Elasticsearch rulând:
sudo nano /etc/elasticsearch/elasticsearch.yml
Găsiți următoarele linii, decomandați liniile și modificați-le conform instrucțiunilor furnizate
#cluster.name: my-application #Provide the name of your cluster
#node.name: node-1 #Provide the name of your node
#network.host: 192.168.0.1
Pentru network.host
, furnizați adresa IP privată atribuită sistemului. Reporniți instanța Elasticsearch rulând:
sudo systemctl restart elasticsearch
Acum, în loc de localhost
, va trebui să utilizați adresa IP pentru a rula interogarea folosind curl
.
curl -XGET -u elastic:NewElasticPassword '192.168.0.1:9200/?pretty'
Înlocuiți 192.168.0.1
cu adresa IP reală a serverului. Acum că am instalat Elasticsearch, continuați să instalați Kibana.
Kibana este utilizat pentru a vizualiza jurnalele și perspectivele de acțiune folosind o interfață web. Poate fi, de asemenea, utilizat pentru a gestiona Elasticsearch. Se recomandă instalarea aceleiași versiuni de Kibana ca Elasticsearch.
Cum am adăugat deja depozitul Elasticsearch și cheia PGP, putem instala Kibana direct rulând:
sudo apt -y install kibana
Comanda anterioară va instala cea mai recentă versiune de Kibana pe sistemul tău. După instalarea Kibana, reîncărcați demonul de serviciu Systemd rulând:
sudo systemctl daemon-reload
Puteți porni Kibana și activa-l pentru a porni automat la momentul de pornire rulând:
sudo systemctl enable kibana
sudo systemctl start kibana
Puteți instala X-Pack pentru Kibana direct rulând:
cd /usr/share/kibana
sudo bin/kibana-plugin install x-pack
Pachetul X pentru Kibana are activat implicit graficul, învățarea și monitorizarea mașinilor. X-Pack permite, de asemenea, autentificarea pentru Kibana. Numele de utilizator implicit este kibana
și parola este changeme
. Este important să schimbați parola implicită a utilizatorului Kibana. Rulați următoarea comandă pentru a schimba parola.
curl -XPUT -u elastic '192.168.0.1:9200/_xpack/security/user/kibana/_password?pretty' -H 'Content-Type: application/json' -d'
{
"password": "NewKibanaPassword"
}
'
Înlocuiți-vă 192.168.0.1
cu adresa IP reală a serverului și NewKibanaPassword
cu noua parolă pentru utilizatorul Kibana.
Editați fișierul de configurare Kibana rulând:
sudo nano /etc/kibana/kibana.yml
Găsiți următoarele linii și modificați valorile conform instrucțiunilor furnizate.
#elasticsearch.url: "http://localhost:9200"
#elasticsearch.username: "user"
#elasticsearch.password: "password"
Decomandați liniile de mai sus și elasticsearch.url
furnizați URL-ul pentru instanța Elasticsearch. Adresa IP trebuie să fie aceeași IP în care s-a folosit elasticsearch.yml
. În plus, setați numele de utilizator de la user
la elastic
și furnizați parola utilizatorului elastic pe care l-ați setat anterior.
Reporniți instanța Kibana rulând:
sudo systemctl restart kibana
Deoarece rulăm Kibana pe localhost
port 5601
, este recomandat să configurați un proxy invers cu Apache sau Nginx pentru a accesa Kibana din afara rețelei locale. În acest tutorial, vom configura Nginx ca proxy invers pentru Kibana. De asemenea, vom securiza instanța Nginx cu un certificat SSL gratuit Let's Encrypt.
Instalați Nginx rulând:
sudo apt -y install nginx
Porniți și activați Nginx pentru a porni automat la momentul de pornire.
sudo systemctl start nginx
sudo systemctl enable nginx
Acum că serverul Nginx este instalat și funcționează, putem continua să instalăm Certbot, care este clientul certificatului Let's Encrypt oficial și automat. Adăugați Certbot PPA la sistem rulând:
sudo add-apt-repository ppa:certbot/certbot
Actualizați informațiile meta depozitare.
sudo apt update
Acum puteți instala cu ușurință cea mai recentă versiune a Certbot rulând:
sudo apt -y install python-certbot-nginx
Comanda anterioară va rezolva și va instala dependențele necesare împreună cu pachetul Certbot.
Acum că avem Certbot instalat, generați certificatele pentru domeniul dvs. rulând:
sudo certbot certonly --webroot -w /var/www/html/ -d kibana.example.com
Nu uitați să vă schimbați kibana.example.com
cu numele dvs. de domeniu real. Comanda anterioară va folosi clientul Certbot. certonly
Parametrul spune clientul Certbot pentru a genera numai certificatele. Utilizarea acestei opțiuni asigură că certificatele nu sunt instalate automat și că configurația Nginx nu s-a schimbat. Verificarea se va face prin plasarea fișierelor de provocare în webroot
directorul specificat .
Certbot vă va solicita să furnizați adresa dvs. de e-mail pentru a trimite anunțul de reînnoire. De asemenea, va trebui să acceptați acordul de licență.
Pentru a obține certificate de la Let's Encrypt CA, trebuie să vă asigurați că domeniul pentru care certificatele pe care doriți să le genereze sunt orientate către server. Dacă nu, atunci faceți modificările necesare la înregistrările DNS ale domeniului dvs. și așteptați propagarea DNS înainte de a face din nou cererea de certificat. Certbot verifică autoritatea domeniului înainte de furnizarea certificatelor.
Este posibil ca certificatele generate să fie stocate în /etc/letsencrypt/live/kibana.example.com/
director. Certificatul SSL va fi stocate ca fullchain.pem
și cheia privată vor fi stocate ca privkey.pem
.
Haideți să cripțăm certificatele care vor expira în 90 de zile, de aceea este recomandat să configurați reînnoirea automată a certificatelor folosind cronjobs. Cron este un serviciu de sistem care este utilizat pentru a executa sarcini periodice.
Deschideți fișierul de job cron rulând:
sudo crontab -e
Adăugați următoarea linie la sfârșitul fișierului.
30 5 * * 1 /usr/bin/certbot renew -a nginx --quiet
Slujba cron de mai sus va rula în fiecare luni la 5:30 AM. În cazul în care certificatul expiră, acesta le va reînnoi automat.
Editați fișierul gazdă virtual implicit pentru Nginx rulând următoarea comandă.
sudo nano /etc/nginx/sites-available/default
Înlocuiți conținutul existent cu următorul conținut.
server {
listen 80 default_server;
server_name kibana.example.com
return 301 https://$server_name$request_uri;
}
server {
listen 443 default_server ssl http2;
server_name kibana.example.com;
ssl_certificate /etc/letsencrypt/live/kibana.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/kibana.example.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
location / {
proxy_pass http://localhost:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Asigurați-vă că actualizați kibana.example.com
cu numele de domeniu real, verificați, de asemenea, calea către certificatul SSL și cheia privată.
Reporniți serverul web Nginx rulând:
sudo systemctl restart nginx
Dacă totul a fost configurat corect, veți vedea ecranul de conectare Kibana. Autentificați-vă cu numele de utilizator kibana
și parola pe care le-ați setat. Ar trebui să vă puteți autentifica cu succes și să vedeți tabloul de bord Kibana. Părăsește tabloul de bord, deocamdată, îl vom configura ulterior.
Logstash poate fi instalat și prin intermediul depozitului oficial Elasticsearch pe care l-am adăugat anterior. Instalați Logstash rulând:
sudo apt -y install logstash
Comanda de mai sus va instala cea mai recentă versiune a Logstash pe sistemul dvs. După instalarea Logstash, reîncărcați demonul de serviciu Systemd rulând:
sudo systemctl daemon-reload
Porniți Logstash și permiteți-l să pornească automat la momentul de pornire.
sudo systemctl enable logstash
sudo systemctl start logstash
Puteți instala X-Pack pentru Logstash direct rulând:
cd /usr/share/logstash
sudo bin/logstash-plugin install x-pack
X-Pack pentru Logstash vine cu un utilizator implicit logstash_system
. Puteți reseta parola rulând:
curl -XPUT -u elastic '192.168.0.1:9200/_xpack/security/user/logstash_system/_password?pretty' -H 'Content-Type: application/json' -d'
{
"password": "NewLogstashPassword"
}
'
Înlocuiți 192.168.0.1
cu adresa IP reală a serverului și NewLogstashPassword
cu noua parolă pentru utilizatorul Logstash.
Acum reporniți serviciul Logstash rulând:
sudo systemctl restart logstash
Editați fișierul de configurare Logstash rulând:
sudo nano /etc/logstash/logstash.yml
Adăugați următoarele linii la sfârșitul fișierului pentru a permite monitorizarea instanței Logstash.
xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.url: http://192.168.0.1:9200
xpack.monitoring.elasticsearch.username: logstash_system
xpack.monitoring.elasticsearch.password: NewLogstashPassword
Înlocuiți URL-ul Elasticsearch și parola Logstash în funcție de configurarea dvs.
Acum puteți configura Logstash pentru a primi date folosind diferite Beats. Există mai multe tipuri de bătăi disponibile: Packetbeat, Metricbeat, Filebeat, Winlogbeat și Heartbeat. Va trebui să instalați fiecare Beat separat.
În acest tutorial, am instalat Elastic Stack cu X-Pack pe Ubuntu 17.04. O stivă ELK de bază este acum instalată pe serverul dvs.
Scala este un limbaj de programare orientat pe obiect și funcțional. Este un limbaj popular care a fost folosit pentru dezvoltarea aplicațiilor, precum Spark, Akka, an
Folosind un sistem diferit? GoCD este un sistem de livrare și automatizare continuă a surselor deschise. Vă permite să modelați fluxuri de lucru complexe folosind paralelul său
Folosind un sistem diferit? Gradle este un set de instrumente de automatizare pentru construirea surselor gratuite și deschise bazate pe conceptele Apache Ant și Apache Maven. Gradle oferă
Ce veți avea nevoie de un Vultr VPS cu cel puțin 1 GB RAM. Acces SSH (cu privilegii root / administrative). Pasul 1: Instalarea BungeeCord Primele lucruri
Introducere Apache Maven este un instrument de management de proiect gratuit și open source utilizat pentru proiectele Java. Puteți gestiona cu ușurință o construire, raportare, un proiect
Elasticsearch este un motor popular de căutare și analitică cu text complet, open source. Datorită versatilității, scalabilității și ușurinței de utilizare, Elasticsearch este larg
Folosind un sistem diferit? Red5 este un server media open source implementat în Java care vă permite să rulați aplicații Flash multi-utilizator, cum ar fi fluxul live
Apache Tomcat, creat de aceeași organizație ca popularul server web Apache, este un server web care vă permite să serviți paginile web Java vizitatorilor. În ti
Folosind un sistem diferit? Gradle este un set de instrumente de automatizare pentru construirea surselor gratuite și deschise bazate pe conceptele Apache Ant și Apache Maven. Gradle oferă
Introducere Bukkit este o extensie a Minecraft, care oferă câteva caracteristici exclusive, precum și plugin-uri care vă pot îmbunătăți mult experiența de joc.
Folosind un sistem diferit? Red5 este un server media open source implementat în Java care vă permite să rulați aplicații Flash multi-utilizator, cum ar fi fluxul live
Apache Tomcat este un server web open-source conceput pentru a servi paginile web Java. Este dislocată pe scară largă și alimentează diverse aplicații web critice pentru misiune
Introducere Apache Maven este un instrument de management de proiect gratuit și open source utilizat pentru proiectele Java. Puteți gestiona cu ușurință o construire, raportare, un proiect
Apache Maven este un instrument de gestionare a proiectelor software gratuit și open source, care este utilizat pe scară largă pentru implementarea aplicațiilor bazate pe Java. Premise Un noul
Acest ghid explică cum se instalează Apache Tomcat pe un server Ubuntu 16.04. Condiții preliminare Desfășurați o nouă instanță a serverului Ubuntu 16.04. Creați un sud non-root
În acest ghid, veți învăța cum să instalați manual Java 8 pe Ubuntu 16.04. Instrucțiunile din acest tutorial vor funcționa și la alte versiuni ale Ubuntu
Introducere Java este o platformă software populară care vă permite să dezvoltați și să executați aplicații și applet Java în diverse medii hardware. Ei sunt
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.
CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?
Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.
Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!
Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.
Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe