Raportointisolmu: Tietojen kerääjän nimen kirjainkoon luottamuksellisuuden ratkaiseminen ServerDR:n jälkeen
Summary: Kun raportointisolmu on otettu uudelleen käyttöön ja Server Disaster Recovery (ServerDR) on suoritettu, uusia tietoja ei synkronoida, koska kirjainkoolla on merkitystä tietojen keräystyökalun nimessä. Tietokantaan tallennettiin data-collector@report (pienet kirjaimet), kun taas solmun isäntänimi kirjoitetaan isoilla kirjaimilla. Lokissa näkyy java.net.ConnectException: Yhteyden muodostaminen localhost/127.0.0.1:18455-palveluun epäonnistui. Ratkaise ongelma ottamalla isäntänimi uudelleen käyttöön samassa tapauksessa kuin alkuperäinen ja suorittamalla ServerDR uudelleen. Voit myös päivittää PostgreSQL:n (collected_system taulukon) data_collector_name oikeaan tapaukseen ja käynnistää tiedonkeruupalvelun uudelleen. ...
Symptoms
Havaitut ongelmat solmun uudelleenkäyttöönoton ja ServerDR:n raportoinnin jälkeen.
Seuraavat oireet tunnistettiin:
- ServerDR: n suorittamisen jälkeen kerätyt uudet tiedot eivät näy missään raportissa.
- Vain historialliset tiedot näkyvät raporttiselaimessa.
- Tietojen keräyspalvelun lokit sisältävät yhteysvirheen.
- Tietokantakysely näyttää tietojen kerääjän nimen, joka on tallennettu pienin tai isoin kirjaimin (esim.
data-collector@report). - Raportointisolmun nykyinen isäntänimi on eri kirjainkoko (isot vs. pienet kirjaimet) kuin tietokantaan tallennettu nimi.
Asiaankuuluvat lokimerkinnät osoitteesta /var/log/reporting/logs/data-collector/data-collector.log :
2026-02-10T06:45:00.006Z INFO [] [DataCollectionQuartzScheduler_Worker-1] [c.e.b.d.c.s.DataCollectionJob.execute(17)] - Start to perform data collection.
2026-02-10T06:45:00.007Z INFO [] [DataCollectionQuartzScheduler_Worker-1] [c.e.b.d.c.s.d.c.DataCollectionService.doCollect(93)] - Query systems by data collector data-collector@REPORT.
2026-02-10T06:45:00.113Z ERROR [] [DataCollectionQuartzScheduler_Worker-1] [c.e.b.d.c.a.CollectedSystemApiServiceImpl.findAllByDataCollectorName(227)] - Error finding all by data collector name: data-collector@gcntnb05
java.net.ConnectException: Failed to connect to localhost/127.0.0.1:18455
at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:297)
at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:207)
at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)
at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)
at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)
at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)
Komento, jota käytetään tietokannan keräystietueiden tarkastamiseen:
psql postgresql://reporting:Password123\!@127.0.0.1:9003/collected_business_data -c "select * from public.collected_system"
Cause
Kirjainkoon huomioon ottava ristiriita tietojen kerääjän nimessä
Ongelma ilmenee, koska data_collector_name Raportointisolmujen tietokantaan tallennetuissa kirjainkoolla on merkitystä. Kun raportointisolmu on otettu uudelleen käyttöön, sen isäntänimi kirjoitetaan isoilla kirjaimilla ja alkuperäinen ServerDR:n aikana tallennettu isäntänimi pienillä kirjaimilla. Tämä ristiriita estää tiedonkeruutoimintoa löytämästä oikeaa merkintää, mikä aiheuttaa tietojen synkronointivirheitä.
- Tietokantamerkintä
data_collector_namesäilytetään pienillä kirjaimilla (esim.data-collector@report ). - Raportointisolmun nykyinen isäntänimi kirjoitetaan isoilla kirjaimilla, mutta aiempi ServerDR-isäntänimi on kirjoitettu pienillä kirjaimilla (esim.
REPORT). - Koska kirjainkoolla on merkitystä nimivertailussa, palvelu ei voi yhdistää tallennettua nimeä nykyiseen isäntänimeen.
Tuloksena oleva yhteysvirhe
2026-02-10T06:45:00.113Z ERROR [] [DataCollectionQuartzScheduler_Worker-1] [c.e.b.d.c.a.CollectedSystemApiServiceImpl.findAllByDataCollectorName(227)] - Error finding all by data collector name: data-collector@REPORT
java.net.ConnectException: Failed to connect to localhost/127.0.0.1:18455
at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:297)
at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:207)
at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)
at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)
at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)
at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)Resolution
Palauta raportointisolmun tiedot ServerDR:n jälkeen.
Vaihtoehto 1 – Ota raportointisolmu uudelleen käyttöön oikealla isäntänimellä.
Käytä tätä menetelmää, kun haluat puhtaan uudelleenkäyttöönoton.
- Varmista, että uuden raportointisolmun isäntänimi vastaa alkuperäistä isäntänimeä **tarkalleen**, mukaan lukien tapaus (esim. RAPORTTI vs. raportti).
- Ota raportointisolmu uudelleen käyttöön oikealla isäntänimellä.
- Suorita ServerDR (Server Disaster Recovery) raportointisolmussa uudelleen.
Vaihtoehto 2 – Päivitä tiedonkeruutyökalun nimi suoraan tietokannassa
Tämän menetelmän avulla voit välttää täydellisen uudelleensijoittamisen.
- Kirjaudu raportointisolmuun asianmukaisilla oikeuksilla.
- Tarkista nykyiset tiedonkeruutyökalun merkinnät:
psql postgresql://reporting:[PASSWORD]@127.0.0.1:9003/collected_business_data -c "SELECT * FROM public.collected_system;"
- Tunnista rivi, joka sisältää vanhan isäntänimen, ja merkitse sen osoitteen arvo muistiin (esim. 192.168.1.15 ).
- Nykyisen isäntänimen kirjainkoon vastaava:
postgresql://reporting:[PASSWORD]@127.0.0.1:9003/collected_business_data -c "UPDATE public.collected_system SET data_collector_name='data-collector@[HOSTNAME]' WHERE address='[IP_ADDRESS]';"
Korvaa [HOSTNAME] raportointisolmun tarkalla isäntänimellä (kirjainkoko on merkitsevä) ja [IP_ADDRESS] vaiheessa 2 määritetyllä osoitteella. - Ota muutos käyttöön käynnistämällä tiedonkeruutoiminto uudelleen:
systemctl restart data-collector.service
Vahvistus
- Tarkista onnistuneiden kyselyjen tiedot tiedonkeruutyökalun lokista:
cat /var/log/reporting/logs/data-collector/data-collector.log | grep -i "Start to perform data collection"
EiConnectExceptionVirheiden pitäisi näkyä. - Odota noin tunti, avaa sitten raporttiselain ja varmista, että juuri kerätyt tiedot näkyvät historiallisten tietojen rinnalla.
data_collector_name Kirjainkoolla on merkitystä kentässä. Isäntänimen kirjainkoon ja tietokantamerkinnän välinen ristiriita estää tietojen synkronoinnin.