Halaman ini menjelaskan cara membuat dan menganalisis laporan dependensi jaringan di Migration Center.
Ringkasan
Laporan dependensi jaringan memberikan data gabungan bulanan tentang koneksi ke server dan database Anda. Laporan dependensi jaringan memungkinkan Anda melihat semua koneksi ke aset di infrastruktur Anda, dan berapa kali koneksi tersebut diamati oleh Migration Center, yang dikelompokkan setiap bulan.
Untuk mengumpulkan data dependensi jaringan, biarkan discovery client berjalan selama jangka waktu tertentu dan aktifkan sinkronisasi data dengan Pusat Migrasi. Semakin lama Anda menjalankan pengumpulan, semakin banyak data yang harus dianalisis Migration Center untuk mendapatkan insight tentang dependensi jaringan Anda. Migration Center kemudian mengidentifikasi semua koneksi jaringan dari aset yang dipindai. Aset target dalam koneksi dapat berupa aset dalam inventaris Pusat Migrasi yang Anda temukan dengan discovery client, aset yang Anda impor secara manual, atau bahkan aset tidak dikenal yang berada di luar lingkungan Anda.
Laporan dependensi jaringan berguna dalam skenario berikut:
- Mengumpulkan data tentang koneksi ke server dan database, untuk mengidentifikasi aset yang termasuk dalam aplikasi yang sama
- Mengidentifikasi koneksi jaringan yang menarik dalam sekelompok aset, seperti semua server yang menggunakan port standar MySQL
- Mengidentifikasi aset yang tidak ada dalam inventaris Anda
Anda dapat mendownload laporan dependensi jaringan sebagai file CSV dari Migration Center. Kemudian, Anda dapat melakukan analisis menggunakan BigQuery dan contoh kueri yang disediakan oleh Migration Center, atau menggunakan alat pihak ketiga lainnya.
Batasan
- Untuk mengumpulkan data koneksi di infrastruktur, Anda harus menggunakan klien penemuan.
- Data koneksi jaringan hanya dikumpulkan dengan metode pemindaian OS saja. Pemindaian vSphere tidak mendukung pengumpulan data jaringan.
Sebelum memulai
Sebelum membuat laporan dependensi jaringan, Anda harus mengaktifkan pengumpulan data performa agar berfungsi dengan klien penemuan.
Sebelum Anda menganalisis laporan dependensi jaringan dengan BigQuery, lakukan hal berikut:
- Pelajari cara mengimpor data lokal ke BigQuery.
- Pelajari cara menjalankan kueri.
Membuat laporan dependensi jaringan
Untuk membuat laporan dependensi jaringan, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Buat laporan.
Klik Network dependencies exports.
Dari daftar grup, pilih grup yang ingin Anda buat laporannya, lalu klik Ekspor.
Pada dialog yang muncul, klik Ekspor.
Laporan yang diekspor mungkin memerlukan waktu hingga satu jam untuk dibuat. Setelah laporan dibuat, halaman Dependensi jaringan akan terbuka.
Untuk mendownload laporan tertentu, klik
Download.
Menganalisis laporan dependensi jaringan di BigQuery
Bagian berikut memberikan beberapa contoh kueri untuk menganalisis skenario umum di BigQuery. Sebelum dapat menjalankan kueri, Anda harus mengupload file CSV ke BigQuery.
Untuk menggunakan BigQuery, Anda akan ditagih sesuai dengan harga BigQuery.
Mengidentifikasi aset dengan koneksi terbanyak
Kueri berikut berguna untuk mengidentifikasi aset yang memiliki jumlah koneksi terbesar dalam grup.
SELECT
LocalVMName, SUM(ConnectionCount) as TotalCount
FROM
PROJECT.DATASET.TABLE
GROUP BY ALL
ORDER BY TotalCount DESC
Ganti kode berikut:
PROJECT
: project Google Cloud tempat Anda mengupload file CSV.DATASET
: set data BigQuery.TABLE
: tabel BigQuery.
Berikut adalah contoh output dari kueri ini:
LocalVMName | TotalCount |
---|---|
VM-x5ua3o2w | 9970 |
VM-glg5np3w | 9763 |
VM-q3z4zfp8 | 9557 |
VM-2nnsrt37 | 9372 |
VM-1oah56hn | 9350 |
Mengidentifikasi koneksi berdasarkan kedalaman grafik
Kueri berikut berguna untuk mengidentifikasi semua aset yang terhubung ke aset tertentu dengan sejumlah koneksi perantara tertentu. Contoh:
- Dengan kedalaman grafik sama dengan 1, Anda akan menemukan semua aset yang terhubung langsung ke aset utama.
- Dengan kedalaman grafik yang sama dengan 2, Anda akan menemukan semua aset yang terhubung langsung ke aset lain, yang pada gilirannya terhubung langsung ke aset utama.
DECLARE
local_vm_name STRING DEFAULT MAIN_ASSET;
DECLARE
depth INT64 DEFAULT DEPTH;
CREATE TEMP FUNCTION
recursiveConnections(localVmName STRING,
connectionsArray ARRAY<STRING>,
depth INT64)
RETURNS STRING
LANGUAGE js AS r"""
const connections = connectionsArray.map(connection => connection.split('|||'))
.filter(connectionTuple => connectionTuple[1] !== 'Unscanned Device');
const connectedAssets = new Set([localVmName]);
for (let i = 0; i < depth; i++) {
const currentSet = new Set(connectedAssets);
for (const connection of connections) {
/* Look for connections where the asset is the local asset */
if (currentSet.has(connection[0])) {
connectedAssets.add(connection[1]);
}
/* Look for connections where the asset is the remote asset */
if (currentSet.has(connection[1])) {
connectedAssets.add(connection[0]);
}
}
}
connectedAssets.delete(localVmName);
return Array.from(connectedAssets).sort().join(', ');
""";
SELECT
local_vm_name AS LocalVMName,
recursiveConnections(local_vm_name,
ARRAY_AGG(CONCAT(LocalVMName, '|||', RemoteVMName)),
depth) AS Connections
FROM
PROJECT.DATASET.TABLE
Ganti kode berikut:
MAIN_ASSET
: Nama aset yang ingin Anda identifikasi koneksinya.DEPTH
: Kedalaman grafik.
Berikut adalah contoh output dari kueri ini:
LocalVMName | Koneksi |
---|---|
VM-lv8s148f | VM-2z8wp3ey, VM-66rq2x2y, VM-94uwyy8h, VM-ccgmqqmb, VM-ctqddf0u, VM-og4n77lb, ... |
Memfilter koneksi menurut rentang IP dan port
Kueri berikut memungkinkan Anda mengidentifikasi aset yang menggunakan alamat IP dan port dalam rentang yang Anda tentukan.
CREATE TEMP FUNCTION
ipBetween(value STRING,
low STRING,
high STRING) AS ( NET.IPV4_TO_INT64(NET.IP_FROM_STRING(value)) BETWEEN NET.IPV4_TO_INT64(NET.IP_FROM_STRING(low))
AND NET.IPV4_TO_INT64(NET.IP_FROM_STRING(high)) );
SELECT
*
FROM
PROJECT.DATASET.TABLE
WHERE
((LocalPort BETWEEN PORT_START
AND PORT_END)
OR (RemotePort BETWEEN PORT_START
AND PORT_END))
AND (ipBetween(LocalIP,
IP_START,
IP_END)
OR ipBetween(RemoteIP,
IP_START,
IP_END))
Ganti kode berikut:
PORT_START
: Port awal rentang port, misalnya0
.PORT_END
: Port akhir rentang port, misalnya1024
.IP_START
: Alamat IP awal rentang, misalnya"10.26.0.0"
.IP_END
: Alamat IP akhir rentang, misalnya"10.26.255.255"
.
Berikut adalah contoh output dari kueri ini:
SampleRange | LocalVMName | LocalAssetID | LocalGroups | LocalIP | LocalPort | Protokol | LocalProcessName | RemoteVMName | RemoteAssetID | RemoteGroups | RemoteIP | RemotePort | ConnectionCount |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2025-06-02T05:59:53Z-2025-06-02T05:59:53Z | VM-0lf60off | projects/982941055174/locations/us-central1/assets/0lf60off | Grup 1 | 10.0.45.138 | 272 | tcp | bash | VM-0spdofr9 | projects/982941055174/locations/us-central1/assets/0spdofr9 | 144.35.88.1 | 272 | 499 | |
2025-07-02T05:59:53Z-2025-07-02T05:59:53Z | VM-goa5uxhi | projects/982941055174/locations/us-central1/assets/goa5uxhi | Grup 3 | 10.187.175.82 | 781 | tcp | bash | VM-27i5d2uj | projects/982941055174/locations/us-central1/assets/27i5d2uj | 22.99.72.109 | 781 | 980 | |
2025-08-02T05:59:53Z-2025-08-02T05:59:53Z | VM-7vwy31hg | projects/982941055174/locations/us-central1/assets/7vwy31hg | Grup 1 | 10.58.166.132 | 21 | tcp | bash | VM-2gq0fl37 | projects/982941055174/locations/us-central1/assets/2gq0fl37 | 147.19.84.135 | 21 | 514 |
Mengidentifikasi aset yang belum dipindai di jaringan
Kueri berikut memungkinkan Anda mengidentifikasi aset yang tidak dipindai dalam jaringan Anda. Aset yang tidak dipindai adalah koneksi ke alamat IP jarak jauh yang tidak terkait dengan aset apa pun dalam inventaris Migration Center Anda. Dengan demikian, Anda dapat mengidentifikasi aset yang mungkin tidak ada yang perlu dipindai untuk penilaian Anda.
CREATE TEMP FUNCTION
ipBetween(value STRING,
low STRING,
high STRING) AS ( NET.IPV4_TO_INT64(NET.IP_FROM_STRING(value)) BETWEEN NET.IPV4_TO_INT64(NET.IP_FROM_STRING(low))
AND NET.IPV4_TO_INT64(NET.IP_FROM_STRING(high)) );
SELECT
STRING_AGG(LocalIP, ', ') AS LocalIPs,
RemoteIP
FROM
PROJECT.DATASET.TABLE
WHERE
RemoteVMName = 'Unscanned Device'
AND ipBetween(LocalIP,
IP_START,
IP_END)
AND ipBetween(RemoteIP,
IP_START,
IP_END)
GROUP BY
RemoteIP
Ganti kode berikut:
IP_START
: Alamat IP awal rentang, misalnya"10.26.0.0"
.IP_END
: Alamat IP akhir rentang, misalnya"10.26.255.255"
.