milvus-logo
LFAI
Home
  • Outils

Utiliser Birdwatcher

Ce guide vous explique comment utiliser Birdwatcher pour vérifier l'état de votre Milvus et le configurer à la volée.

Démarrer Birdwatcher

Birdwatcher est un outil en ligne de commande, vous pouvez le démarrer comme suit :

./birdwatcher

Vous serez alors accueilli par l'invite suivante :

Offline >

Se connecter à etcd

Vous devez utiliser Birdwatcher pour vous connecter à etcd avant toute autre opération.

  • Se connecter avec les paramètres par défaut

    Offline > connect
    Milvus(by-dev) >
    
  • Se connecter depuis Birdwatcher dans un pod

    Si vous choisissez d'exécuter Birdwatcher dans un pod Kubernetes, vous devez d'abord obtenir l'adresse IP d'etcd comme suit :

    kubectl get pod my-release-etcd-0 -o 'jsonpath={.status.podIP}'
    

    Accédez ensuite au shell du pod.

    kubectl exec --stdin --tty birdwatcher-7f48547ddc-zcbxj -- /bin/sh
    

    Enfin, utilisez l'adresse IP renvoyée pour vous connecter à etcd comme suit :

    Offline > connect --etcd ${ETCD_IP_ADDR}:2379
    Milvus(by-dev)
    
  • Se connecter avec un chemin racine différent

    Si le chemin d'accès à la racine de votre Milvus est différent de by-dev et qu'un message d'erreur vous signale un chemin d'accès à la racine incorrect, vous pouvez vous connecter à etcd comme suit :

    Offline > connect --rootPath my-release
    Milvus(my-release) >
    

    Si vous ne connaissez pas le chemin racine de votre Milvus, connectez-vous à etcd comme suit :

    Offline > connect --dry
    using dry mode, ignore rootPath and metaPath
    Etcd(127.0.0.1:2379) > find-milvus
    1 candidates found:
    my-release
    Etcd(127.0.0.1:2379) > use my-release
    Milvus(my-release) >
    

Vérifier l'état de Milvus

Vous pouvez utiliser les commandes show pour vérifier l'état du Milvus.

Milvus(my-release) > show -h
Usage:
   show [command]

Available Commands:
  alias               list alias meta info
  channel-watch       display channel watching info from data coord meta store
  checkpoint          list checkpoint collection vchannels
  collection-history  display collection change history
  collection-loaded   display information of loaded collection from querycoord
  collections         list current available collection from RootCoord
  config-etcd         list configuations set by etcd source
  configurations      iterate all online components and inspect configuration
  current-version     
  database            display Database info from rootcoord meta
  index               
  partition           list partitions of provided collection
  querycoord-channel  display querynode information from querycoord cluster
  querycoord-cluster  display querynode information from querycoord cluster
  querycoord-task     display task information from querycoord
  replica             list current replica information from QueryCoord
  segment             display segment information from data coord meta store
  segment-index       display segment index information
  segment-loaded      display segment information from querycoordv1 meta
  segment-loaded-grpc list segments loaded information
  session             list online milvus components

Flags:
  -h, --help   help for show

Use " show [command] --help" for more information about a command.

Lister les sessions

Pour répertorier les sessions associées à différents composants dans Milvus :

Milvus(by-dev) > show session
Session:datacoord, ServerID: 3, Version: 2.2.11, Address: 10.244.0.8:13333
Session:datanode, ServerID: 6, Version: 2.2.11, Address: 10.244.0.8:21124
Session:indexcoord, ServerID: 4, Version: 2.2.11, Address: 10.244.0.8:31000
Session:indexnode, ServerID: 5, Version: 2.2.11, Address: 10.244.0.8:21121
Session:proxy, ServerID: 8, Version: 2.2.11, Address: 10.244.0.8:19529
Session:querycoord, ServerID: 7, Version: 2.2.11, Address: 10.244.0.8:19531
Session:querynode, ServerID: 2, Version: 2.2.11, Address: 10.244.0.8:21123
Session:rootcoord, ServerID: 1, Version: 2.2.11, Address: 10.244.0.8:53100

Dans la sortie de la commande, chaque entrée de session répertoriée par show session correspond à un nœud ou à un service actuellement actif et enregistré dans etcd.

Vérifier les bases de données et les collections

Vous pouvez répertorier toutes les bases de données et collections.

  • Lister les bases de données

    Dans la sortie de la commande, vous trouverez des informations sur chaque base de données.

    Milvus(by-dev) > show database
    =============================
    ID: 1   Name: default
    TenantID:        State: DatabaseCreated
    --- Total Database(s): 1
    
  • Lister les collections

    Dans la sortie de la commande, vous trouverez des informations détaillées sur chaque collection.

    Milvus(by-dev) > show collections
    ================================================================================
    DBID: 1
    Collection ID: 443407225551410746       Collection Name: medium_articles_2020
    Collection State: CollectionCreated     Create Time: 2023-08-08 09:27:08
    Fields:
    - Field ID: 0   Field Name: RowID       Field Type: Int64
    - Field ID: 1   Field Name: Timestamp   Field Type: Int64
    - Field ID: 100         Field Name: id          Field Type: Int64
            - Primary Key: true, AutoID: false
    - Field ID: 101         Field Name: title       Field Type: VarChar
            - Type Param max_length: 512
    - Field ID: 102         Field Name: title_vector        Field Type: FloatVector
            - Type Param dim: 768
    - Field ID: 103         Field Name: link        Field Type: VarChar
            - Type Param max_length: 512
    - Field ID: 104         Field Name: reading_time        Field Type: Int64
    - Field ID: 105         Field Name: publication         Field Type: VarChar
            - Type Param max_length: 512
    - Field ID: 106         Field Name: claps       Field Type: Int64
    - Field ID: 107         Field Name: responses   Field Type: Int64
    Enable Dynamic Schema: false
    Consistency Level: Bounded
    Start position for channel by-dev-rootcoord-dml_0(by-dev-rootcoord-dml_0_443407225551410746v0): [1 0 28 175 133 76 39 6]
    --- Total collections:  1        Matched collections:  1
    --- Total channel: 1     Healthy collections: 1
    ================================================================================
    
  • Afficher une collection spécifique

    Vous pouvez afficher une collection spécifique en spécifiant son identifiant.

    Milvus(by-dev) > show collection-history --id 443407225551410746
    ================================================================================
    DBID: 1
    Collection ID: 443407225551410746       Collection Name: medium_articles_2020
    Collection State: CollectionCreated     Create Time: 2023-08-08 09:27:08
    Fields:
    - Field ID: 0   Field Name: RowID       Field Type: Int64
    - Field ID: 1   Field Name: Timestamp   Field Type: Int64
    - Field ID: 100         Field Name: id          Field Type: Int64
            - Primary Key: true, AutoID: false
    - Field ID: 101         Field Name: title       Field Type: VarChar
            - Type Param max_length: 512
    - Field ID: 102         Field Name: title_vector        Field Type: FloatVector
            - Type Param dim: 768
    - Field ID: 103         Field Name: link        Field Type: VarChar
            - Type Param max_length: 512
    - Field ID: 104         Field Name: reading_time        Field Type: Int64
    - Field ID: 105         Field Name: publication         Field Type: VarChar
            - Type Param max_length: 512
    - Field ID: 106         Field Name: claps       Field Type: Int64
    - Field ID: 107         Field Name: responses   Field Type: Int64
    Enable Dynamic Schema: false
    Consistency Level: Bounded
    Start position for channel by-dev-rootcoord-dml_0(by-dev-rootcoord-dml_0_443407225551410746v0): [1 0 28 175 133 76 39 6]
    
  • Afficher toutes les collections chargées

    Vous pouvez demander à Birdwatcher de filtrer toutes les collections chargées.

    Milvus(by-dev) > show collection-loaded
    Version: [>= 2.2.0]     CollectionID: 443407225551410746
    ReplicaNumber: 1        LoadStatus: Loaded
    --- Collections Loaded: 1
    
  • Lister tous les points de contrôle d'une collection

    Vous pouvez demander à Birdwatcher de lister tous les points de contrôle d'une collection spécifique.

    Milvus(by-dev) > show checkpoint --collection 443407225551410746
    vchannel by-dev-rootcoord-dml_0_443407225551410746v0 seek to 2023-08-08 09:36:09.54 +0000 UTC, cp channel: by-dev-rootcoord-dml_0_443407225551410746v0, Source: Channel Checkpoint
    

Vérifier les détails de l'index

Exécutez la commande suivante pour lister tous les fichiers d'index en détail.

Milvus(by-dev) > show index
*************2.1.x***************
*************2.2.x***************
==================================================================
Index ID: 443407225551410801    Index Name: _default_idx_102    CollectionID:443407225551410746
Create Time: 2023-08-08 09:27:19.139 +0000      Deleted: false
Index Type: HNSW        Metric Type: L2
Index Params: 
==================================================================

Lister les partitions

Exécutez la commande suivante pour lister toutes les partitions d'une collection spécifique.

Milvus(by-dev) > show partition --collection 443407225551410746
Parition ID: 443407225551410747 Name: _default  State: PartitionCreated
--- Total Database(s): 1

Vérifier l'état des canaux

Exécutez la commande suivante pour afficher l'état des canaux

Milvus(by-dev) > show channel-watch
=============================
key: by-dev/meta/channelwatch/6/by-dev-rootcoord-dml_0_443407225551410746v0
Channel Name:by-dev-rootcoord-dml_0_443407225551410746v0         WatchState: WatchSuccess
Channel Watch start from: 2023-08-08 09:27:09 +0000, timeout at: 1970-01-01 00:00:00 +0000
Start Position ID: [1 0 28 175 133 76 39 6], time: 1970-01-01 00:00:00 +0000
Unflushed segments: []
Flushed segments: []
Dropped segments: []
--- Total Channels: 1

Répertorier toutes les répliques et tous les segments

  • Répertorier toutes les répliques

    Exécutez la commande suivante pour répertorier toutes les répliques et les collections correspondantes.

    Milvus(by-dev) > show replica
    ================================================================================
    ReplicaID: 443407225685278721 CollectionID: 443407225551410746 version:>=2.2.0
    All Nodes:[2]
    
  • Liste de tous les segments

    Exécutez la commande suivante pour afficher la liste de tous les segments et leur état

    SegmentID: 443407225551610865 State: Flushed, Row Count:5979
    --- Growing: 0, Sealed: 0, Flushed: 1
    --- Total Segments: 1, row count: 5979
    

    Exécuter la commande suivante pour lister en détail tous les segments chargés. Pour Milvus 2.1.x, utilisez plutôt show segment-loaded.

    Milvus(by-dev) > show segment-loaded-grpc
    ===========
    ServerID 2
    Channel by-dev-rootcoord-dml_0_443407225551410746v0, collection: 443407225551410746, version 1691486840680656937
    Leader view for channel: by-dev-rootcoord-dml_0_443407225551410746v0
    Growing segments number: 0 , ids: []
    SegmentID: 443407225551610865 CollectionID: 443407225551410746 Channel: by-dev-rootcoord-dml_0_443407225551410746v0
    Sealed segments number: 1    
    

Lister les configurations

Vous pouvez demander à Birdwatcher de lister les configurations actuelles de chaque composant Milvus.

Milvus(by-dev) > show configurations
client nil Session:proxy, ServerID: 8, Version: 2.2.11, Address: 10.244.0.8:19529
Component rootcoord-1
rootcoord.importtaskexpiration: 900
rootcoord.enableactivestandby: false
rootcoord.importtaskretention: 86400
rootcoord.maxpartitionnum: 4096
rootcoord.dmlchannelnum: 16
rootcoord.minsegmentsizetoenableindex: 1024
rootcoord.port: 53100
rootcoord.address: localhost
rootcoord.maxdatabasenum: 64
Component datacoord-3
...
querynode.gracefulstoptimeout: 30
querynode.cache.enabled: true
querynode.cache.memorylimit: 2147483648
querynode.scheduler.maxreadconcurrentratio: 2

Vous pouvez également visiter chaque composant Milvus pour trouver sa configuration. L'exemple suivant montre comment lister la configuration du QueryCoord avec l'ID 7.

Milvus(by-dev) > show session
Session:datacoord, ServerID: 3, Version: 2.2.11, Address: 10.244.0.8:13333
Session:datanode, ServerID: 6, Version: 2.2.11, Address: 10.244.0.8:21124
Session:indexcoord, ServerID: 4, Version: 2.2.11, Address: 10.244.0.8:31000
Session:indexnode, ServerID: 5, Version: 2.2.11, Address: 10.244.0.8:21121
Session:proxy, ServerID: 8, Version: 2.2.11, Address: 10.244.0.8:19529
Session:querycoord, ServerID: 7, Version: 2.2.11, Address: 10.244.0.8:19531
Session:querynode, ServerID: 2, Version: 2.2.11, Address: 10.244.0.8:21123
Session:rootcoord, ServerID: 1, Version: 2.2.11, Address: 10.244.0.8:53100

Milvus(by-dev) > visit querycoord 7
QueryCoord-7(10.244.0.8:19531) > configuration
Key: querycoord.enableactivestandby, Value: false
Key: querycoord.channeltasktimeout, Value: 60000
Key: querycoord.overloadedmemorythresholdpercentage, Value: 90
Key: querycoord.distpullinterval, Value: 500
Key: querycoord.checkinterval, Value: 10000
Key: querycoord.checkhandoffinterval, Value: 5000
Key: querycoord.taskexecutioncap, Value: 256
Key: querycoord.taskmergecap, Value: 8
Key: querycoord.autohandoff, Value: true
Key: querycoord.address, Value: localhost
Key: querycoord.port, Value: 19531
Key: querycoord.memoryusagemaxdifferencepercentage, Value: 30
Key: querycoord.refreshtargetsintervalseconds, Value: 300
Key: querycoord.balanceintervalseconds, Value: 60
Key: querycoord.loadtimeoutseconds, Value: 1800
Key: querycoord.globalrowcountfactor, Value: 0.1
Key: querycoord.scoreunbalancetolerationfactor, Value: 0.05
Key: querycoord.reverseunbalancetolerationfactor, Value: 1.3
Key: querycoord.balancer, Value: ScoreBasedBalancer
Key: querycoord.autobalance, Value: true
Key: querycoord.segmenttasktimeout, Value: 120000

Sauvegarde des métriques

Vous pouvez demander à Birdwatcher de sauvegarder les métriques de tous les composants

Milvus(my-release) > backup
Backing up ... 100%(2452/2451)
backup etcd for prefix  done
http://10.244.0.10:9091/metrics
http://10.244.0.10:9091/metrics
http://10.244.0.10:9091/metrics
http://10.244.0.10:9091/metrics
http://10.244.0.10:9091/metrics
http://10.244.0.10:9091/metrics
http://10.244.0.10:9091/metrics
http://10.244.0.10:9091/metrics
backup for prefix done, stored in file: bw_etcd_ALL.230810-075211.bak.gz

Vous pouvez ensuite vérifier le fichier dans le répertoire où vous démarrez Birdwatcher.

Sonder les collections

Vous pouvez demander à Birdwatcher de sonder l'état des collections chargées avec des clés primaires spécifiées ou des requêtes fictives.

Sonder une collection avec une clé primaire connue

Dans la commande probe, vous devez spécifier la clé primaire en utilisant le drapeau pk et l'identifiant de la collection en utilisant le drapeau collection.

Milvus(by-dev) > probe pk --pk 110 --collection 442844725212299747
PK 110 found on segment 442844725212299830
Field id, value: &{long_data:<data:110 > }
Field title, value: &{string_data:<data:"Human Resources Datafication" > }
Field title_vector, value: &{dim:768 float_vector:<data:0.022454707 data:0.007861045 data:0.0063843643 data:0.024065714 data:0.013782166 data:0.018483251 data:-0.026526336 ... data:-0.06579628 data:0.00033906146 data:0.030992996 data:-0.028134001 data:-0.01311325 data:0.012471594 > }
Field article_meta, value: &{json_data:<data:"{\"link\":\"https:\\/\\/towardsdatascience.com\\/human-resources-datafication-d44c8f7cb365\",\"reading_time\":6,\"publication\":\"Towards Data Science\",\"claps\":256,\"responses\":0}" > }

Sonder toutes les collections avec des requêtes fictives

Vous pouvez également demander à Birdwatcher de sonder toutes les collections avec des requêtes fictives.

Milvus(by-dev) > probe query
probing collection 442682158191982314
Found vector field vector(103) with dim[384], indexID: 442682158191990455
failed to generated mock request probing index type IVF_FLAT not supported yet
probing collection 442844725212086932
Found vector field title_vector(102) with dim[768], indexID: 442844725212086936
Shard my-release-rootcoord-dml_1_442844725212086932v0 leader[298] probe with search success.
probing collection 442844725212299747
Found vector field title_vector(102) with dim[768], indexID: 442844725212299751
Shard my-release-rootcoord-dml_4_442844725212299747v0 leader[298] probe with search success.
probing collection 443294505839900248
Found vector field vector(101) with dim[256], indexID: 443294505839900251
Shard my-release-rootcoord-dml_5_443294505839900248v0 leader[298] probe with search success.

Traduit parDeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

Cette page a-t - elle été utile ?