🚀 Попробуйте Zilliz Cloud, полностью управляемый Milvus, бесплатно — ощутите 10-кратное увеличение производительности! Попробовать сейчас>

milvus-logo
LFAI
Главная
  • Инструменты
  • Home
  • Docs
  • Инструменты

  • Птицелов

  • Руководства по использованию

Использование Birdwatcher

В этом руководстве вы узнаете, как использовать Birdwatcher для проверки состояния вашего Milvus и его настройки на лету.

Запуск Birdwatcher

Birdwatcher - это инструмент командной строки, запустить его можно следующим образом:

./birdwatcher

После этого вас встретит следующее приглашение:

Offline >

Подключиться к etcd

Перед началом любых других операций необходимо использовать Birdwatcher для подключения к etcd.

  • Подключение с настройками по умолчанию

    Offline > connect
    Milvus(by-dev) >
    
  • Подключение из Birdwatcher в капсуле

    Если вы решили запустить Birdwatcher в стручке Kubernetes, вам нужно сначала получить IP-адрес etcd следующим образом:

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

    Затем получить доступ к оболочке стручка.

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

    Наконец, используйте полученный IP-адрес для подключения к etcd следующим образом:

    Offline > connect --etcd ${ETCD_IP_ADDR}:2379
    Milvus(by-dev)
    
  • Подключение с другим корневым путем

    Если корневой путь вашего Milvus отличается от by-dev и вы получаете сообщение об ошибке, сообщающей о неправильном корневом пути, вы можете подключиться к etcd следующим образом:

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

    Если вы не знаете корневой путь вашего Milvus, подключитесь к etcd следующим образом:

    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) >
    

Проверить состояние Milvus

Для проверки состояния Milvus можно использовать команды show.

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.

Список сессий

Чтобы перечислить сессии, связанные с различными компонентами 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

В выводе команды каждая запись сеанса, перечисленная show session, соответствует узлу или службе, которые в настоящее время активны и зарегистрированы в etcd.

Проверка баз данных и коллекций

Вы можете перечислить все базы данных и коллекции.

  • Список баз данных

    В выводе команды вы можете найти информацию о каждой базе данных.

    Milvus(by-dev) > show database
    =============================
    ID: 1   Name: default
    TenantID:        State: DatabaseCreated
    --- Total Database(s): 1
    
  • Список коллекций

    В выводе команды можно найти подробную информацию о каждой коллекции.

    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
    ================================================================================
    
  • Просмотр конкретной коллекции

    Вы можете просмотреть конкретную коллекцию, указав ее ID.

    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]
    
  • Просмотреть все загруженные коллекции

    Вы можете заставить Birdwatcher отфильтровать все загруженные коллекции.

    Milvus(by-dev) > show collection-loaded
    Version: [>= 2.2.0]     CollectionID: 443407225551410746
    ReplicaNumber: 1        LoadStatus: Loaded
    --- Collections Loaded: 1
    
  • Список всех контрольных точек канала коллекции

    Вы можете заставить Birdwatcher перечислить все контрольные точки определенной коллекции.

    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
    

Проверка сведений об индексе

Выполните следующую команду, чтобы получить подробный список всех индексных файлов.

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: 
==================================================================

Список разделов

Выполните следующую команду, чтобы перечислить все разделы в определенной коллекции.

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

Проверить состояние канала

Выполните следующую команду, чтобы просмотреть состояние канала.

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

Список всех реплик и сегментов

  • Список всех реплик

    Выполните следующую команду, чтобы перечислить все реплики и соответствующие им коллекции.

    Milvus(by-dev) > show replica
    ================================================================================
    ReplicaID: 443407225685278721 CollectionID: 443407225551410746 version:>=2.2.0
    All Nodes:[2]
    
  • Список всех сегментов

    Выполните следующую команду, чтобы перечислить все сегменты и их состояние.

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

    Выполните следующую команду, чтобы получить подробный список всех загруженных сегментов. Для Milvus 2.1.x вместо этого используйте 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    
    

Список конфигураций

Вы можете попросить Birdwatcher вывести список текущих конфигураций каждого компонента 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

В качестве альтернативы вы можете посетить каждый компонент Milvus, чтобы найти его конфигурацию. Ниже показано, как вывести список конфигурации QueryCoord с идентификатором 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

Резервное копирование метрик

Вы можете попросить Birdwatcher создать резервную копию метрик всех компонентов.

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

Затем вы можете проверить файл в директории, где вы запускаете Birdwatcher.

Зондировать коллекции

Вы можете попросить Birdwatcher проверить состояние загруженных коллекций с указанными первичными ключами или имитационными запросами.

Зондирование коллекции с известным первичным ключом

В команде probe необходимо указать первичный ключ, используя флаг pk, и идентификатор коллекции, используя флаг 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}" > }

Проверка всех коллекций с помощью имитационных запросов

Вы также можете попросить Birdwatcher исследовать все коллекции с помощью имитационных запросов.

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.

Попробуйте Managed Milvus бесплатно

Zilliz Cloud работает без проблем, поддерживается Milvus и в 10 раз быстрее.

Начать
Обратная связь

Была ли эта страница полезной?